TopLevel
アミプロマクロ解説

本書は、次のセクションで構成されています。

はじめに

3.1J のアップデートマクロと新規追加マクロ

マクロ言語の概要

マクロ命令文

マクロ関数 (機能別)

アミプロ関数 (メニュー別)

マクロ関数　A ～ C

マクロ関数　D ～ E

マクロ関数　F ～ G

マクロ関数　H ～ M

マクロ関数　N ～ R

マクロ関数　S ～ Z

マクロエラー

マクロエラーメッセージ


はじめに

本書は、アミプロのマクロ言語について解説したオンラインヘルプです。独自のマクロを作成するときや、マクロを記録したり、実行したりするときに参考にしてください。

マクロの記録や実行命令は、ここに記述されているマクロや アミプロ関数を自動的にアクセスするため、マクロについて詳細に知る必要はありません。マクロを作成するために必要なことは、すべてマクロヘルプで説明してありますので、専門のプログラマーでなくても アミプロのマクロが作成できます。

アミプロマクロ言語は、BASIC 言語に大変よく似ています。プログラムを書いたことがあれば、すぐに アミプロマクロ言語を使いこなせるようになるでしょう。

マクロヘルプは初心者から経験者まで、すべてのユーザー向けに説明してあるため、ユーザーによってはやさしすぎたり、あるいは難しすぎる部分があるかもしれません。初めてマクロプログラムを作成する方は、わかりにくい箇所は飛ばして簡単なマクロから始めてください。

BASIC 関数に名前が似ている関数は機能も同じですから、すべての説明を読む必要はありません。

関連項目

マクロヘルプの構成

マクロ説明の構文


マクロヘルプの構成

マクロヘルプは、大きく分けて次のように構成されています。

マクロ言語

変数の確保、式、マクロの入力と保存なども含めて、マクロ言語について説明します。

マクロ命令文

マクロ言語の各命令文について説明します。

マクロ関数 (機能別)

マクロ関数が機能別に分類してあります。このセクションは関数の機能から関数名を見つける時に有効です。各分類にどのような関数があるか、ここで確認してください。見つかった関数名をクリックすると、その関数の説明画面に移ります。

アミプロ関数 (メニュー別)

マクロで使える アミプロ関数が アミプロのメニュー別に分けてあります。

アミプロ関数はマクロの中で アミプロの命令を実行します。このセクションは アミプロの機能から関数名を見つけるときに有効です。見つかった関数名をクリックすると、その関数の説明画面に移ります。

マクロ関数 (アルファベット順)

アルファベット順にマクロと アミプロの関数一覧が表示されます。このセクションは、すぐに関数の説明を見たいときに有効です。構文、引数、関数の戻値が説明してあります。サンプルプログラムや関連する関数などもあります。

直接、各関数の詳細を調べるときは、このセクションを参照してください。

マクロエラーメッセージ

マクロをコンパイルしたり実行したりするときに起こるエラーのエラーメッセージ一覧が表示されます。エラーメッセージ別にエラーの原因と解決方法について説明します。

マクロヘルプでは、基本的なキー記録マクロについては説明をはぶいています。詳しくは『ユーザーズガイド』や『リファレンスマニュアル』を参照してください。

関連項目

マクロ説明の構文


マクロ説明の構文

マクロの命令文や関数は、以下のように一定の方法で説明します。命令文や関数を理解するために参考にしてください。

各命令文や関数は次のような構文で記述します。

関数名(Parm1 [Parm2 [Parm3･･･]])

Parm1 は必須の引数です。

Parm2 は任意の引数です。

Parm3 は任意の引数です。

関数名の後に引数が続きます。実際にマクロで関数を書くときは、引数名を指定の値に置き換えます。

関数の構文の次に、各引数の説明があります。

・角カッコ ([  ]) で囲まれた引数は、任意指定です。

この例では、Parm2 と Parm3 は両方とも任意指定です。

・任意の引数を使うときは、[  ] の中のすべての情報を設定します。

・Parm3 の [  ] は、Parm2 の [  ] の内側に含まれているので、Parm3 は、Parm2 を設定するときには任意指定ができますが、Parm2 を設定せずに Parm3 だけを設定することはできません。Parm2 を設定するとき、Parm3 は設定しなくてもかまいません。

・Parm3 の あとの ･･･ は、繰り返し可能を意味します。関数の引数やカンマなどの構成要素が繰り返し可能のときは、･･･ で示してあります。引数を繰り返すときは、[  ] で囲まれている部分すべてを繰り返します。

関数や命令文の説明では、使用方法を示すためにサンプルプログラムがあります。

サンプルプログラムは、次のように記述されています。

1 FUNCTION test()

2 TYPE ("This is a test.[ENTER]")

3 END FUNCTION

・行番号はサンプルの説明に使うためで、実際にマクロを書くときは、行番号は入力しません。

・各サンプルには、複数の関数やプログラミング概念が示してあり、マクロの機能を説明した注釈があります。

便利な関数を実行するサンプルがたくさんありますから、マクロを作るときに参考にしてください。


マクロ関数
マクロ関数 (機能別)

ここでは、関数が機能別に分類してありますから、分類から容易に関数を見つけることができます。関数の分類は、以下のとおりです。

関数の分類について

変数

文字列

アミプロメニュー

アミプロ文書編集

Windows アプリケーション

枠

スタイル修正

ページレイアウト

ダイアログボックス

配列

テキストファイル

マクロ制御関数

DOS


関数の分類
関数の分類について

変数

変数は通常、その変数が定義されているマクロに固有で、マクロが終了するときに削除されます。アミプロには、マクロが終了するとき保存される変数があります。

文字列

文字列関数は文字列を処理します。BASIC 言語の文字列関数と同じ構文を持つ関数がたくさんありますが、引数がアドレスではなく値で渡されるところが、BASIC 言語と異なります。引数自体の値は変わりません。

アミプロメニュー

ここに分類される関数は、アミプロのメニューバーを作成したり変更したり、あるいはメニューバーから表示されるプルダウンメニューを追加したり、削除したり、変更したりする関数です。ファンクションキーにマクロを割り当てる関数もあります。

各関数の詳細な説明は、それぞれの関数で説明します。

アミプロ文書編集

文書を編集する関数とは、メニューバーとダイアログボックスを使って作る関数のことです。

Windows アプリケーション

アミプロから他の Windows アプリケーションに作用するためには Windows Dynamic Data Exchange (DDE) を使い、Windows Dynamic Link Libraries (DLL) にルーチンを登録します。

他のアプリケーションを実行する関数も含まれます。各関数の詳細な説明は、それぞれの関数で説明します。

枠

枠の位置、型、線、背景色など枠をすべてマクロで制御する機能です。枠制御関数を用いて、枠の表示や型と同様に位置も変更できます。

スタイル修正

段落スタイルの作成と修正がすべてマクロで制御できます。

ページレイアウト

ページレイアウトの作成と修正がすべてマクロで制御できます。

ダイアログボックス

マクロの中で、ダイアログボックスを設定し、ダイアログボックスが表示されている間だけ実行する関数を定義できます。これらの関数は、ボックスの構成部分を変更できます。

ビットマップは、ダイアログボックスの一部分として含まれます。これらのビットマップは固定するかボタンとして定義できます。

すべての Windows インターフェース機能を、アミプロマクロのダイアログボックスで使用できます。

配列

高度な配列操作が可能です。配列のマクロ関数では挿入、削除、並べ替えができます。

テキストファイル

テキストファイルを読み書きするための関数です。バイナリファイルには対応していません。バイナリファイルを操作したときの動作は保証されません。

使用に際しては、ファイルの適切なオープンとクローズが要求される低レベルの関数です。ファイルをクローズせずにマクロを終了すると、Windows の動作は保証されません。

マクロ制御関数

マクロの実行を制御する関数です。実行の中断、１ステップずつの実行、Ami Pro.INIファイルへの読み書きなどがあります。

DOS

一般によく使う DOS コマンドをマクロ関数として用意しています。


変数

変数は通常、その変数が定義されているマクロに固有で、マクロが終了するときに削除されます。アミプロには、マクロが終了するとき保存される変数があります。そのような変数をグローバル変数と言います。

AllocGlobalVar

FreeGlobalVar

GetGlobalVar$

GetGlobalVarCount

GetGlobalVarNames

SetGlobalVar

関連項目

グローバル変数


文字列

文字列関数は文字列を処理します。BASIC 言語の文字列関数と同じ構文を持つ関数がたくさんありますが、引数がアドレスではなく値で渡されるところが、BASIC 言語と異なります。引数自体の値は変わりません。

UCASE$(VAR)

VAR = UCASE$(VAR)

最初の例は、変数 VAR が関数に渡されますが、結果がどの変数にも設定されないので、無意味です。２番めの例は、意図した結果が得られます。

ASC

BinToBrackets

BracketsToBin

CDBL$

CHR$

CSNG$

CurChar$

CurShade$

CursorPosition$

CurWord$

DateDiff

FormatDate$

FormatNum$

FormatSeq$

FormatTime$

GetAmiDirectory$

GetBackPath$

GetDocinfo$

GetDocPath$

GetMacPath$

GetMarkText$

GetTextBeforeCursor$

HEX$

Instr

IsDBCS

IsNumeric

JISTOSJIS$

KEXT$

KInstr

KLEN

KMID$

KNJ$

KPOS

LCASE$

Left$

LEN

MID$

Mod

Right$

Round

SJIS$

SJISTOJIS

strcat$

strchr

strfield$

Truncate

ToMenuASCII$

ToMenuBinary$

TYPE

UCASE$


アミプロメニュー

ここに分類される関数は、アミプロのメニューバーを作成したり変更したりします。あるいはメニューバーから表示されるプルダウンメニューを追加したり、削除したり、変更したりする関数です。ファンクションキーにマクロを割り当てる関数もあります。各関数の詳細な説明は、それぞれの関数で説明します。

AddBar

AddCascadeMenu

AddCascadeMenuItem

AddMenu

AddMenuItem

AddMenuItemDDE

ChangeCascadeAction

ChangeMenuAction

CheckMenuItem

DeleteMenu

DeleteMenuItem

GrayMenuItem

InsertCascadeMenu

InsertCascadeMenuItem

InsertMenu

InsertMenuItem

RenameMenuItem

ShowBar


アミプロ文書編集

文書を編集する関数とは、メニューバーとダイアログボックスを使って作る関数のことです。

About

AddFrame

AddFrameDlg

ASCIIOptions

AssignMacroToFile

Bold

BringFrameToFront

CascadeWindow

Center

ChangeShortcutKey

CharLeft

CharRight

ChartingMode

CleanScreenOptions

ClipboardRead

ClipboardWrite

ConnectCells

ControlPanel

Copy

CreateDataFile

CreateDescriptionFile

CreateStyle

CustomView

Cut

DeleteColumnRow

DeleteEntireTable

DocInfo

DocInfoFields

DocumentCompare

DraftMode

DrawingMode

EditFormula

ElevatorLeftRight

ElevatorUpDown

EndOfFile

EvalField

FacingView

FastFormat

FieldAdd

FieldAuto

FieldCommand

FieldEvaluate

FieldLock

FieldNext/FieldPrevFieldRemove

FieldToggleDisplay

FieldUpdate

FieldUpdateAll

FileClose

FileManagement

FileOpen

FilePrint

FindReplace

FloatingHeader

FontChange

FontFaceChange

FontPointSizeChange

FontRevert

Footnotes

FormatDate$

FormatNum$

FormatSeq$

FormatTime$

FullPageView

Generate

Glossary

GlossaryAdd

GlossSet

GoToAgain

GoToCmd

GraphicsScaling

HeaderFooter

GroupFrames

Heading

Help

HideIconBar

HideStylesBox

HideTabRuler

IconBottom

IconCustomize

IconFloating

IconLeft

IconRight

IconTop

ImageProcessing

ImportPicture

Indent

IndentAll

IndentFirst

IndentRest

InitialCaps

InsertBullet

InsertColumnRow

InsertDate

InsertDocInfo

InsertDocInfoField

InsertLayout

InsertMerge

InsertMergeField

InsertNewObject

InsertNote

InsertVariable

Italic

Justify

JustifyAll

LayoutMode

LeaderDots

LeaderHyphs

LeaderLines

LeaderNone

LeftAlign

LeftEdge

LineDown

LineNumber

LineUp

LoadOptions

LowerCase

MacroEdit

MacroHelp

MacroOptions

MacroPlay

MarkBookMark

MarkIndexWord

MarkTOCEntry

MasterDoc

MasterDocOpts

Maximize

MoveLeftOrPromote

MoveParagraphDown

MoveParagraphUp

MoveRightOrDemote

Merge

MergeToFile

Minimize

New

NewWindow

NextWindow

NoHyphenation

NormalText

Notes

OpenDataFile

OpenMergeFile

OpenPreviousFile1

OpenPreviousFile2

OpenPreviousFile3

OpenPreviousFile4

OpenPreviousFile5

OutlineLevels

OutlineMode

OutlineStyle

PageBreak

PageDown

PageNumber

PageUp

Paste

PrintEnvelope

PrintOptions

PrintSetup

ProtectCells

ProtectedText

QuickAddCol

QuickAddRow

ReadMail

RemoveLayout

RenameDocInfoField

Replace

Restore

Revert

RevertLayout

ReviewRevisions

RevisionInsertion

RevisionMarking

RevisionMarkOpts

RightAlign

RightEdge

Save

SaveAs

SaveAsNewStyle

ScreenDown

ScreenLeft

ScreenRight

ScreenUp

SelectColumn

SelectEntireTable

SelectRow

SelectStyle

SelectWindow

SendFrameToBack

SendMail

SetBackPath

SetDataFile

SetDefOptions

SetDefPaths

SetDocPath

SetFormula

SetIconPath

SetIconSize

SetFrameDefaults

SetIndexFile

SetMacroPath

SetMasterFiles

SetStyle

SetStylePath

SetTOCFile

SetTOCOpts

ShowIconBar

ShowStylesBox

ShowTabRuler

SizeColumnRow

SmallCaps

Sort

Spacing

SpecialEffects

SpellCheck

StandardView

TableLayout

TableLines

Tables

TabRuler

TabRulerInsert

TabRulerRemove

Thesaurus

TileWindow

TOCOptions

ToggleCleanScreen

ToggleIconBar

ToggleStylesBox

ToggleTabRuler

TopOfFile

TypeOver

Underline

Undo

UpperCase

UseAnotherStyle

UserSetup

UseWorkingDir

ViewPreferences

WordUnderline

WorkingView


Windows アプリケーション

アミプロから他の Windows アプリケーションに作用するためには Windows Dynamic Data Exchange (DDE) を使い、Windows Dynamic Link Libraries (DLL) にルーチンを登録します。

他のアプリケーションを実行する関数も含まれます。

各関数の詳細な説明は、それぞれの関数で説明します。

ActivateApp

AddMenuItemDDE

AppClose

AppGetAppCount

AppGetAppNames

AppGetWindowPos

AppHide

AppIsRunning

AppMaximize

AppMinimize

AppMove

AppRestore

AppSendMessage

AppSize

ControlPanel

DDEAdvise

DDEExecute

DDEInitiate

DDELinks

DDEPoke

DDEReceive$

DDETerminate

DDEUnAdvise

DLLCall

DLLFreeLib

DLLLoadLib

DLLLocate

GetProfileString$

WriteProfileString


枠

枠の位置、型、線、背景色など枠をすべてマクロで制御する機能です。

枠制御関数を使うと、枠の表示や型と同様に、位置も変更できます。

FrameLayout

FrameModBorders

FrameModFinish

FrameModInit

FrameModLines

FrameModType

GetCurFrameBorders

GetCurFrameLines

GetCurFrameType

IsFrameSelectedManualFrame


スタイル修正

段落スタイルの作成と修正がすべてマクロで制御できます。

CharShade

DefineStyle

ModifyAlignment

ModifyBreaks

ModifyEffects

ModifyFont

ModLayoutInit

ModifyLayout

ModifyLines

ModifyReflow

ModifySelect

ModifyShade

ModifyShadeStyle

ModifySpacing

ModifyStyle

ModifyTable

ModifyUnder

ModifyUnderStyle

StyleManageAction

StyleManageFinish

StyleManageInit

StyleManagement


ページレイアウト

ページレイアウトの作成と修正がすべてマクロで制御できます。

Ami Proindirect

GetLayoutLeftLines

GetLayoutPageSize

GetLayoutParameters

GetLayoutParmCnt

GetLayoutRightLines

GetLayoutType

ModLayoutFinish

ModLayoutInit

ModLayoutLeftFooter

ModLayoutLeftHeader

ModLayoutLeftLines

ModLayoutLeftPage

ModLayoutPageSize

ModLayoutRightFooter

ModLayoutRightHeader

ModLayoutRightLines

ModLayoutRightPage


ダイアログボックス

マクロの中で、ダイアログボックスを設定し、ダイアログボックスが表示されている間だけ実行する関数を定義できます。これらの関数は、ダイアログボックスの構成部分を変更できます。

ビットマップは、ダイアログボックスの一部分として含まれます。これらのビットマップは固定するかボタンとして定義できます。

すべての Windows インターフェース機能を、アミプロマクロのダイアログボックスで使用できます。

DialogBox

DlgKeyInterrupt

FillEdit

FillList

GetDialogField$

GetDlgItem

GetDlgItemText

SetDlgCallback

SetDlgItemText


配列

高度な配列操作が可能です。

配列のマクロ関数では挿入、削除、並べ替えができます。

AllayDelete

ArrayInsert

ArrayInsertByKey

ArraySearch

ArraySize

ArraySort

GetGlobalArray$

SetGlobalArray


テキストファイル

テキストファイルを読み書きするための関数です。

バイナリファイルには対応していません。バイナリファイルを操作したときの動作は保証されません。

使用に際しては、ファイルの適切なオープンとクローズが要求される低レベルの関数です。

ファイルをクローズせずにマクロを終了すると、Windows の動作は保証されません。

fclose

fgets$

FindFirst$

FindNext$

fopen

fputs

fread

fseek

ftell

fwrite


マクロ制御関数

マクロの実行を制御する関数です。

実行の中断、１ステップずつの実行、Ami Pro.INIファイルへの読み書きなどがあります。

ApplyFormat

AtEOF

DarkMode

DateDiff

DECLARE

Exec

FileChanged

GetAmiDirectory$

GetBackPath$

GetBookmarkCount

GetBookmarkNames

GetBookmarkPage

GetCurFontInfo

GetCurrentDir$

GetDocInfo$

GetDocInfoKeywords$

GetDocPath$

GetDocVar

GetIconPalette

GetMacPath$

GetMarkText$

GetMasterFilesCount

GetMasterFiles

GetMode

GetOpenFileCount

GetOpenFileName$

GetOpenFileNames

GetPageNo

GetPowerFieldCount

GetPowerFieldPage

GetPowerFields

GetProfileString$

GetRunningMacroFile$

GetRunningMacroName$

GetSpecialEffects$

GetStyleCount

GetStyleName$

GetStylePath$

GetTextBeforeCursor$

GetTime

GetViewLevel

GetViewPrefLevel

GetViewPrefOpts

GetWindowsDirectory$

GoToPowerField

GoToShade

Hourglass

IgnoreKeyboard

IsFrameSelected

IsNumeric

KeyInterrupt

Message

Messages

MouseInterrupt

MultiDecide

Now

OnMDIActivate

Pause

PhysicalToLogical

Query$

RecClose

RecFieldCount

RecFieldName$

RecGetField

RecNextRec

RecOpen

Round

RunLater

SelectFrameByName

SendKeys

SetDocVar

SingleStep

StatusBarMsg

TableGetRange

UserControl

WriteProfileString


DOS

一般的な DOS コマンドがマクロ関数として用意されています。

Beep

DOSchdir

DOSCopyFile

DOSDelFile

DOSGetEnv$

DOSGetFileAttr

DOSmkdir

DOSRename

DOSrmdir

DOSSetFileAttr


Ami Pro 関数
マクロから呼び出せる アミプロ関数

ここには、マクロで使える アミプロの関数があります。

関数は、メニューバーの順序で一覧表示され、関数名は、アミプロのメニューに対応しています。

詳細については、各関数の説明を参照してください。また、アミプロ関数の使い方は ｢ アミプロ関数の呼び出し ｣ に説明してあります。

関数は次のメニューに分類されます。

ファイルメニュー

編集メニュー

表示メニュー

文字メニュー

スタイルメニュー

ページメニュー

枠メニュー

ツールメニュー

表メニュー

ヘルプメニュー

ウィンドウメニュー

その他の関数

関連項目

引数の有無による関数呼び出し


パラメータの有無による関数呼び出し
引数の有無による関数呼び出し

引数を付けても付けなくても呼び出せる関数があります。

引数を指定しないときは、ユーザーがその関数に対応するメニューを選んだときと同様、ダイアログボックスが表示されます。引数を指定するときにだけ (　) を使います。

たとえば、FileOpen("DOC.SAM",AmiFile,0) は、DOC.SAM というファイルをオープンして表示します。FileOpen は、<ファイル(F) オープン(O)> のダイアログボックスを表示します。

メニューの下層レベルにあっても、アミプロコマンドを通して直接アクセスできる関数があります。

たとえば、短文を挿入するコマンドがあります。この関数を実行すると、短文挿入のダイアログボックスが表示され、アミプロの短文挿入のメニューと同様の操作で短文を文書に入力できます。

アミプロのメニューバーを置き換えられるように、メニュー作成のコマンドがあります。

新しいメニューバーは直接 アミプロコマンドを組み込めないので、マクロで作成されたメニュー項目を選んだときに実行されるように、マクロを書けます。AddMenuItem 関数を参照してください。

メニュー作成のコマンドは、このようなマクロの中で使えます。

アミプロの子プロセスを生成するための関数が用意されています。

この中に、FileManagement、Help、ControlPanel 関数が含まれます。これらの関数が使われるときは、適当なウィンドウが生成され、プログラムが実行されます。

適当なウィンドウを生成後に実行したマクロ内の追加命令は、それらの関数のために作ったウィンドウの上に アミプロウィンドウを表示するという状態を引き起こします。

このような子プロセス生成のための関数を使うときは、その関数を呼び出したあと、直接そのマクロを終了するか、または一時停止している (子プロセス生成のための) マクロのうち１つを使ってください。


システムメニュー

ActivaeApp  System/Task list

ControlPanel  System/Control Panel

Exec  System/Program Manager

Maximize  System/Maximize

Minimize  System/Minimize

Restore  System/Restore


ファイルメニュー

ASCIIOptions

<ファイル(F) オープン(O)>

DDELinks

<ファイル(F)>

DocInfo

<ファイル(F) 文書情報(D) 他の項目(O)>

DocInfoFields

<ファイル(F) 文書情報(D) 他の項目(O)>

FileClose

<ファイル(F) クローズ(C)>

FileManagement

<ファイル(F) ファイル管理(F)>

FileOpen

<ファイル(F) オープン(O)>

FilePrint

<ファイル(F) 印刷(P)>

ImportPicture

<ファイル(F) 絵の呼び出し(I)>

MasterDoc

<ファイル(F) グループ文書(E)>

MasterDocOpts

<ファイル(F) グループ文書(E) オプション(O)>

Merge

<ファイル(F) 差し込み(G)>

MergeToFile

<ファイル(F) 差し込み(G) 差し込み保存(S)>

New

<ファイル(F) 新規作成(N)>

OpenPreviousFile1

<ファイル(F) 1>

OpenPreviousFile2

<ファイル(F) 2>

OpenPreviousFile3

<ファイル(F) 3>

OpenPreviousFile4

<ファイル(F) 4>

OpenPreviousFile5

<ファイル(F) 5>

PrintEnvelope<ファイル(F) 宛名印刷(V) >

PrintOptions

<ファイル(F) 印刷(P) オプション(O)>

PrintSetup

<ファイル(F) プリンタ設定(T)>

RenameDocInfoField

<ファイル(F) 文書情報(D) 項目名変更(R)>

Revert

<ファイル(F) 編集破棄(R)>

Save

<ファイル(F) 保存(S)>

SaveAs

<ファイル(F) 別名保存(A)>

SendMail

<ファイル(F) メール送信>

SetIndexFile

<ファイル(F) グループ文書(E) オプション(O)>

SetMasterFiles

<ファイル(F) グループ文書(E)>

SetTOCFile

<ファイル(F) グループ文書(E) オプション(O)>

SetTOCOpts

<ファイル(F) グループ文書(E) オプション(O)>

TOCOptions

<ファイル(F) グループ文書(E) オプション(O) 目次オプション(O)>


編集メニュー

Copy

<編集(E) 複写(C)>

Cut

<編集(E) 切り抜き(T)>

FieldAdd

<編集(E) パワーフィールド(F) 挿入(I)>

FieldAuto

<編集(E) パワーフィールド(F) 挿入(I) 自動実行(A)>

FieldCommand

<編集(E) パワーフィールド(F) 挿入(I)>

FieldEvaluate

<編集(E) パワーフィールド(F) 更新(U)>

FieldLock

<編集(E) パワーフィールド(F) 挿入(I) 固定(L)>

FieldNext/FieldPrev<編集(E) パワーフィールド(F) 次パワーフィールド(N)>

または、<編集(E) パワーフィールド(F) 前パワーフィールド(P)>

FieldUpdate

<編集(E) パワーフィールド(F) 更新(U)>

FieldUpdateAll

<編集(E) パワーフィールド(F) 全体更新(A)>

FindReplace

<編集(E) 検索／置換(R)>

Glossary

<編集(E) 挿入(I) 短文(L)>

GlossaryAdd

<編集(E) マーク(M) 短文(L)>

GlossSet

<編集(E) 挿入(I) 短文(L) データファイル(D)>

GoToAgain

<編集(E) ジャンプ(G)>

GoToCmd

<編集(E) ジャンプ(G)>

InsertBullet

<編集(E) 挿入(I) 記号(B)>

InsertDate

<編集(E) 挿入(I) 日時(D)>

InsertDocInfo

<編集(E) 挿入(I) 文書情報(I)>

InsertDocInfoField

<編集(E) 挿入(I) 文書情報(I)>

ダイアログボックスは表示されません。

InsertMerge

<編集(E) 挿入(I) 差し込み(F)>

InsertMergeField

<編集(E) 挿入(I) 差し込み(F)>

ダイアログボックスは表示されません。

InsertNewObject

<編集(E) 挿入(I) オブジェクト(O)>

InsertNote

<編集(E) 挿入(I) メモ(N)>

InsertVariable

<編集(E) 挿入(I) 日時(D)>

MarkBookMark

<編集(E) マーク(M) しおり(B)>

MarkIndexWord

<編集(E) マーク(M) 索引登録(I)>

MarkTOCEntry

<編集(E) マーク(M) 目次登録(T)>

NoHyphenation

<編集(E) マーク(M) ハイフネーションなし(N)>

Notes

<編集(E) 挿入(I) メモ(N)>

Paste

<編集(E) 貼り付け(P)>

ProtectedText

<編集(E) マーク(M) ブロック化(P)>

Replace

<編集(E) 検索／置換(R)>

RevisionInsertion

<編集(E) マーク(M) 修正記録(R)>

Undo

<編集(E) アンドゥ(U)>


表示 メニュー

CleanScreenOptions<表示(V) 表示オプション(P) クリーンスクリーンオプション(S)>

CustomView<表示(V) 指定サイズ(C)>

DraftMode

<表示(V) ドラフトモード(D)>

EnlargedView

<表示(V) 拡大サイズ(E)>

FacingView

<表示(V) 見開き(A)>

FieldToggleDisplay

<表示(V) パワーフィールド表示(I)>

または <表示(V) パワーフィールド非表示(I)>

FullPageView

<表示(V) ページ全体(F)>

HideStylesBox

<表示(V) スタイルボックス非表示(B)>

HideTabRuler

<表示(V) ルーラー非表示(R)>

LayoutMode

<表示(V) レイアウトモード(L)>

OutlineMode

<表示(V) アウトラインモード(O)>

ShowStylesBox

<表示(V) スタイルボックス表示(B)>

ShowTabRuler

<表示(V) ルーラー表示(R)>

StandardView

<表示(V) 標準サイズ(S)>

ToggleCleanScreen

<表示(V) クリーンスクリーン表示/非表示(N)>

ToggleTabRuler

<表示(V) ルーラー表示(R)> と

<ルーラー非表示(R)>の切り替え(トグル)

ToggleStylesBox

<表示(V) スタイルボックス表示(B)> と

<表示(V) スタイルボックス非表示(B)>

ViewPreferences

<表示(V) 表示オプション(P)>

WorkingView

<表示(V) 指定サイズ(W)>


文字メニュー

Bold

<文字(T) 太字(B)>

Center

<文字(T) 文字揃え(A) 中央揃え(C)>

CharShade

<文字(T) 網掛け(G)>

FastFormat

<文字(T) ファストフォーマット(T)>

FontChange

<文字(T) フォント(F)>

FontRevert

<文字(T) フォント(F) スタイルの設定に戻す(R)>

Indent

<文字(T) インデント(D)>

IndentAll<文字(T) インデント(D) 全部(A)>

IndentFirst<文字(T) インデント(D) １行目(F)>

IndentRest<文字(T) インデント(D) ２行目以降(R)>

InitialCaps

<文字(T) Caps(C) 先頭大文字(I)>

Italic

<文字(T) 斜体(I)>

Justify

<文字(T) 文字揃え(A) 両端揃え(J)>

JustifyAll

<文字(T) 文字揃え(A) 均等割り付け(K)>

LeftAlign

<文字(T) 文字揃え(A) 左寄せ(L)>

LowerCase

<文字(T) Caps(C) 小文字(L)>

ModifyShade

<文字(T) 網掛け設定(H)>

ModifyShadeStyle

<文字(T) 網掛け設定(H)>

ModifyUnder

<文字(T) 下線設定(H)>

ModifyUnderStyle

<文字(T) 下線設定(H)>

NormalText

<文字(T) 標準(N)>

RightAlign

<文字(T) 文字揃え(A) 右寄せ(R)>

SmallCaps

<文字(T) Caps(C) 小さい大文字(S)>

Spacing

<文字(T) 間隔(S)>

SpecialEffects

<文字(T) 特殊属性(E)>

Underline

<文字(T) 下線(U)>

UpperCase

<文字(T) Caps(C) 大文字(U)>

WordUnderline

<文字(T) 単語下線(W)>


スタイルメニュー

CreateStyle

<スタイル(S) 新規スタイル作成(C)>

DefineStyle

<スタイル(S) スタイル定義(D)>

ModifyAlignment

<スタイル(S) スタイル修正(M) 文字揃え(G)>

ModifyBreaks

<スタイル(S) スタイル修正(M) 改頁／改段(B)>

ModifyEffects

<スタイル(S) スタイル修正(M) 特殊効果(E)>

ModifyFont

<スタイル(S) スタイル修正(M) フォント(F)>

ModifyLines

<スタイル(S) スタイル修正(M) 線種(L)>

ModifyReflow

<スタイル(S) スタイル修正(M)>

ModifySpacing

<スタイル(S) スタイル修正(M) 間隔(P)>

ModifyStyle

<スタイル(S) スタイル修正(M)>

ModifyTable

<スタイル(S) スタイル修正(M) 表形式(T)>

OutlineStyle

<スタイル(S) アウトラインスタイル(O)>

SaveAsNewStyle

<スタイル(S) スタイルシート保存(V)>

SelectStyle

<スタイル(S) スタイル選択(S)>

SetStyle

<スタイル(S) スタイル選択(S)>

StyleManageAction

<スタイル(S) スタイル管理(N)>

StyleManageFinish

<スタイル(S) スタイル管理(N)>

StyleManageInit

<スタイル(S) スタイル管理(N)>

StyleManagement

<スタイル(S) スタイル管理(N)>

UseAnotherStyle

<スタイル(S) 別スタイルシート使用(U)>

関連項目

スタイル修正関数の使い方


スタイル修正関数の使い方

ModifySelect関数は、修正する段落のスタイルを選択します。

次に選択した段落を修正するために、スタイル修正関数を使います。

文書の段落スタイルシートを変更するには、ModifyReflow 関数を呼びます。ModifyReflow関数を実行しないと、次に文書を表示するまで段落スタイルは変更されません。


頁メニュー
ページメニュー

FloatingHeader

<ページ(P) 浮動ヘッダ／フッタ(F)>

HeaderFooter

<ページ(P) ヘッダ／フッタ(H)>

InsertLayout

<ページ(P) ページレイアウト挿入(I) 挿入(I)>

LineNumber

<ページ(P) 行番号(L)>

ModifyLayout

<ページ(P) ページレイアウト修正(M)>

ModLayoutFinish

<ページ(P) ページレイアウト修正(M)>

ModLayoutInit

<ページ(P) ページレイアウト修正(M)>

ModLayoutLeftFooter

<ページ(P) ページレイアウト修正(M) フッタ(F)>

ModLayoutLeftHeader

<ページ(P) ページレイアウト修正(M) ヘッダ(H)>

ModLayoutLeftLines

<ページ(P) ページレイアウト修正(M) ページ枠(L)>

ModLayoutLeftPage

<ページ(P) ページレイアウト修正(M) 左ページ(L)>

ModLayoutPageSize

<ページ(P) ページレイアウト修正(M) ページ設定(P)>

ModLayoutRightFooter

<ページ(P) ページレイアウト修正(M) フッタ(F)>

ModLayoutRightHeader

<ページ(P) ページレイアウト修正(M) ヘッダ(H)>

ModLayoutRightLines

<ページ(P) ページレイアウト修正(M) ページ枠(L)>

ModLayoutRightPage

<ページ(P) ページレイアウト修正(M) 右ページ(R)>

PageBreak

<ページ(P) 改頁／改段(B)>

PageNumber

<ページ(P) ページ番号(P)>

RemoveLayout

<ページ(P) ページレイアウト挿入(I) 削除(R)>

RevertLayout

<ページ(P) ページレイアウト挿入(I) 破棄(R)>

TabRulerInsert

<ページ(P) ルーラー(R) 挿入(I)>

TabRulerRemove

<ページ(P) ルーラー(R) 削除(R)>


枠メニュー

AddFrame

<枠(R) Add A Frame>

ダイアログボックスは表示されません。

AddFrameDlg

<枠(R) Add A Frame>

BringFrameToFront

<枠(R) 前面へ(F)>

FrameLayout

<枠(R) Frame Layout>

FrameModBorders

<枠(R) 枠レイアウト修正(M)>

FrameModFinish

<枠(R) 枠レイアウト修正(M)>

FrameModInit

<枠(R) 枠レイアウト修正(M)>

FrameModLines

<枠(R) 枠レイアウト修正(M)>

FrameModType

<枠(R) 枠レイアウト修正(M)>

GraphicsScaling

<枠(R) 図形サイズ(S)>

GroupFrames

<枠(R) グループ(G)>

ManualFrame

<枠(R) 新規枠作成(C) 手動(M)>

SendFrameToBack

<枠(R) 背後へ(B)>

SetFrameDefaults

<枠(R) 枠レイアウト修正(M) 既定値にする(M)>


ツールメニュー

AssignMacroToFile

<ツール(L) マクロ(M) 編集(E) 自動マクロ(A)>

ChartingMode

<ツール(L) グラフ(C)>

DocumentCompare

<ツール(L) 文書比較(P)>

DrawingMode

<ツール(L) 作図(D)>

Footnotes

<ツール(L) 脚注(F)>

HideIconBar

<ツール(L) アイコンパレット(I) 表示(S)>

IconBottom

<ツール(L) アイコンパレット(I)>

IconCustomize

<ツール(L) アイコンパレット(I) カスタマイズ(C)>

IconFloating

<ツール(L) アイコンパレット(I)>

IconLeft

<ツール(L) アイコンパレット(I)>

IconRight

<ツール(L) アイコンパレット(I)>

IconTop

<ツール(L) アイコンパレット(I)>

ImageProcessing

<ツール(L) イメージ処理(I)>

LoadOptions

<ツール(L) 環境設定(U) 起動時(L)>

MacroEdit

<ツール(L) マクロ(M) 編集(E)>

MacroOptions

<ツール(L) マクロ(M) 記録(R) オプション(O)>

MacroPlay

<ツール(L) マクロ(M) 実行(P)>

OnKey

<ツール(L) マクロ(M) 編集(E)>

ReviewRevisions

<ツール(L) 修正記録(V) 修正確認(V)>

RevisionMarking

<ツール(L) 修正記録(V)>

RevisionMarkOpts

<ツール(L) 修正記録(V) オプション(O)>

SetBackPath

<ツール(L) 環境設定(U) ディレクトリ(P)>

SetDefOptions

<ツール(L) 環境設定(U) オプション(O)>

SetDefPaths

<ツール(L) 環境設定(U) ディレクトリ(P)>

SetDocPath

<ツール(L) 環境設定(U) ディレクトリ(P)>

SetIconPath

<ツール(L) 環境設定(U) ディレクトリ(P)>

SetIconSize

<ツール(L) スマートアイコン(I) アイコンサイズ(I)>

SetMacroPath

<ツール(L) 環境設定(U) ディレクトリ(P)>

SetStylePath

<ツール(L) 環境設定(U) ディレクトリ(P)>

SetTOCOpts

<ツール(L) 目次／索引(N) 目次オプション(T)>

ShowIconBar

<ツール(L) アイコンパレット(I) 表示(S)>

Sort

<ツール(L) 並べ替え(O)>

SpellCheck

<ツール(L) スペルチェック(S)>

Tables

<ツール(L) 表(B)>

Thesaurus

<ツール(L) シソーラス(T)>

ToggleIconBar

<ツール(L) アイコンパレット(I) 表示(S)>	と <ツール(L) アイコンパレット(I) 非表示(S)> の切り替え (トグル)

UserSetup

<ツール(L) 環境設定(U)>

UseWorkingDirUSEWORKINGDIR

<ツール(L) 環境設定(U) ディレクトリ(P)>


表メニュー

ConnectCells

<表(B) 連結(C)>

DeleteColumnRow

<表(B) 行/列の削除(D)>

DeleteEntireTable

<表(B) 表全体の削除(T)>

EditFormula

<表(B) 式編集(F)>

Heading

<表(B) タイトル(H)>

InsertColumnRow

<表(B) 行/列の挿入(I)>

LeaderDots

<表(B) リーダー(E)>

LeaderHyphs

<表(B) リーダー(E)>

LeaderLines

<表(B) リーダー(E)>

LeaderNone

<表(B) リーダー(E)>

ProtectCells

<表(B) 保護(P)>

QuickAddCol

<表(B) 加算(A) 列(C)>

QuickAddRow

<表(B) 加算(A) 行(R)>

SelectColumn

<表(B) 列の選択(O)>

SelectEntireTable

<表(B) 表全体の選択(B)>

SelectRow

<表(B) 行選択(R)>

SetFormula

<表(B) 式編集(F)>

SizeColumnRow

<表(B) 行/列のサイズ(S)>

TableLayout

<表(B) 表レイアウト修正(L)>

TableLines

<表(B) 罫線／影付き(N)>


ウィンドウメニュー

CascadeWindow

<ウィンドウ(W) カスケード表示(C)>

NewWindow

<ウィンドウ(W) 新規ウィンドウ作成(N)>

TileWindow

<ウィンドウ(W) タイル表示(T)>


ヘルプメニュー　　　　　　　　　　　　　　　　　　　　1
ヘルプメニュー

About

<ヘルプ(H) Ami Proについて(A)>

BasicsHelp

<ヘルプ(H) 基本操作(B)>

Help

<ヘルプ(H) 索引(I)>

HowDoIHelp

<ヘルプ(H) 操作手順(H)>

KeyboardHelp

<ヘルプ(H) キーボード(K)>

MacroHelp

<ヘルプ(H) マクロ解説(M)>

UsingHelp

<ヘルプ(H) ヘルプの使い方(U)>


その他の関数

CharLeft

スクロールバーの右矢印キーをクリックするのと同じ機能です。

CharRight

スクロールバーの左矢印キーをクリックするのと同じ機能です。

ElevatorLeftRight

水平スクロールバーのスクロールボックスをドラッグするのと同じ機能です。

挿入位置は変わりません。

ElevatorUpDown

垂直スクロールバーのスクロールボックスをドラッグするのと同じ機能です。

挿入位置は変わりません。

EndOfFile

垂直スクロールバーの一番下にスクロールボックスをドラッグするのと同じ機能です。

FontFaceChange

状態行で書体を選択するのと同じ機能です。

FontPointSizeChange

状態行でポイントサイズを選択するのと同じ機能です。

LeftEdge

水平スクロールバーの左端にスクロールボックスをドラッグするのと同じ機能です。

LineDown

スクロールバーの上矢印をクリックするのと同じ機能です。

LineUp

スクロールバーの下矢印をクリックするのと同じ機能です。

NextWindow

CTRL-TAB を押すのと同じ機能です。

OutLineLevels

アウトラインモードでアウトラインレベルのアイコンをクリックするのと同じ機能です。

PageDown

状態行で 次頁アイコンをクリックするのと同じ機能です。

PageUp

状態行上で 前頁 アイコンをクリックするのと同じ機能です。

ReadMail

状態行上で Mail ボタンをクリックするのと同じ機能です。

RightEdge

水平スクロールバーの右端にスクロールボックスをドラッグするのと同じ機能です。

ScreenDown

垂直スクロールバーを上部分をクリックするの同じ機能です。

ScreenLeft

水平スクロールバーの右半分をクリックするのと同じ機能です。

ScreenRight

水平スクロールバーの左半分をクリックするのと同じ機能です。

ScreenUp

垂直スクロールバーの下部分をクリックするのと同じ機能です。

１画面スクロールアップします。

SetStyle

状態行あるいはスタイルボックスから段落スタイルを選択するのと同じ機能です。

TabRulerルーラーでタブ、余白、インデントを変更するのと同じ機能です。

ToggleStylesBox

状態行のスタイルボックスを選択するのと同じ機能です。

TopOfFile

垂直スクロールバーの上端にスクロールボックスをドラッグするのと同じ機能です。

TypeOver

挿入キーを押したのと同じ機能で、挿入と上書モードを切り替えます。


関数 A ～ C

関連項目

関数 D ～ E

関数 F ～ G

関数 H ～ M

関数 N ～ R

関数 S ～ Z

ASC

ASCIIOptions

About

ActivateApp

AddBar

AddCascadeMenu

AddCascadeMenuItem

AddFrame

AddFrameDlg

AddMenu

AddMenuItem

AddMenuItemDDE

AllocGlobalVar

Ami ProIndirect

AnswerMsgBox

AppClose

AppGetAppCount

AppGetAppNames

AppGetWindowPos

AppHide

AppIsRunning

AppMaximize

AppMinimize

AppMove

AppRestore

AppSendMessage

AppSize

ApplyFormat

ArrayDelete

ArrayInsert

ArrayInsertByKey

ArraySearch

ArraySize

ArraySort

Assign

AssignMacroToFile

AtEOF

BasicsHelp

Beep

BinToBrackets

Bold

BracketsToBin

BringFrameToFront

CDBL$

CHR$

CSNG$

CascadeWindow

Center

ChangeCascadeAction

ChangeIcons

ChangeMenuAction

ChangeShortcutKey

CharLeft

CharRight

CharShade

ChartingMode

CheckMenuItem

CleanScreenOptions

ClipboardRead

ClipboardWrite

ConnectCells

ControlPanel

Copy

CreateDataFile

CreateDescriptionFile

CreateStyle

CurChar$

CurShade$

CurWord$

CursorPosition$

CustomView

Cut


関数 D ～ E

関連項目

関数 A ～ C

関数 F ～ G

関数 H ～ M

関数 N ～ R

関数 S ～ Z

DDEAdvise

DDEExecute

DDEInitiate

DDELinks

DDEPoke

DDEReceive$

DDETerminate

DDEUnAdvise

DECLARE

DLLCall

DLLFreeLib

DLLLoadLib

DLLLocate

DOSCopyFile

DOSDelFile

DOSGetEnv$

DOSGetFileAttr

DOSRename

DOSSetFileAttr

DOSchdir

DOSmkdir

DOSrmdir

DarkMode

DateDiff

Decide

DefineStyle

DeleteColumnRow

DeleteEntireTable

DeleteMenu

DeleteMenuItem

DlgKeyInterrupt

DocInfo

DocInfoFields

DocumentCompare

DraftMode

DrawingMode

EditFormula

ElevatorLeftRight

ElevatorUpDown

EndOfFile

EnlargedView

EvalField

Exec


Functions F-G
関数 F ～ G

関連項目

関数 A ～ C

関数 D ～ E

関数 H ～ M

関数 N ～ R

関数 S ～ Z

FacingView

FacingView

FastFormat

FieldAdd

FieldAuto

FieldCommand

FieldEvaluate

FieldLock

FieldNext/FieldPrev

FieldRemove

FieldToggleDisplay

FieldUpdateAll

FieldUpdate

FileChanged

FileClose

FileManagement

FileOpen

FilePrint

FillEdit

FillList

FindFirst$

FindNext$

FindReplace

FloatingHeader

FontChange

FontFaceChange

FontPointSizeChange

FontRevert

Footnotes

FormatDate$

FormatNum$

FormatSeq$

FormatTime$

FrameLayout

FrameModBorders

FrameModFinish

FrameModInit

FrameModLines

FrameModType

FreeGlobalVar

FullPageView

Generate

GetAmiDirectory$

GetBackPath$

GetBookmarkCount

GetBookmarkNames

GetBookmarkPage

GetCurFontInfo

GetCurFrameBorders

GetCurFrameLines

GetCurFrameType

GetCurrentDir$

GetDlgItem

GetDlgItemText

GetDocInfo$

GetDocPath$

GetDocVar

GetGlobalArray$

GetGlobalVar$

GetGlobalVarCount

GetGlobalVarNames

GetIconPalette

GetLayoutLeftLines

GetLayoutPageSize

GetLayoutParameters

GetLayoutParmCnt

GetLayoutRightLines

GetLayoutType

GetMacPath$

GetMarkText$

GetMasterFilesCount

GetMasterFiles

GetMode

GetOpenFileCount

GetOpenFileName$

GetOpenFileNames

GetPageNo

GetPowerFieldCount

GetPowerFieldPage

GetPowerFields

GetProfileString$

GetRunningMacroFile$

GetRunningMacroName$

GetSpecialEffects$

GetStyleCount

GetStyleName$

GetStyleNames

GetStylePath$

GetTextBeforeCursor$

GetTime

GetViewLevel

GetViewPrefLevel

GetViewPrefOpts

GetWindowsDirectory$

GlossSet

GlossaryAdd

Glossary

GoToAgain

GoToCmd

GoToShade

GotoPowerField

GraphicsScaling

GrayMenuItem

GroupFrames

fclose

fgets$

fopen

fputs

fread

fseek

ftell

fwrite


関数 H ～ M

関連項目

関数 A ～ C

関数 D ～ E

関数 F ～ G

関数 N ～ R

関数 S ～ Z

HEX$

HeaderFooter

Heading

Help

HideIconBar

HideStylesBox

HideTabRuler

Hourglass

HowDoIHelp

IconBottom

IconCustomize

IconFloating

IconLeft

IconRight

IconTop

IgnoreKeyboard

ImageProcessing

ImportPicture

IndentAll

IndentFirst

Indent

IndentRest

InitialCaps

InsertBullet

InsertCascadeMenu

InsertCascadeMenuItem

InsertColumnRow

InsertDate

InsertDocInfoField

InsertDocInfo

InsertLayout

InsertMenu

InsertMenuItem

InsertMergeField

InsertMerge

InsertNewObject

InsertNote

InsertVariable

Instr

IsDBCS

IsFrameSelected

IsNumeric

Italic

JISTOSJIS$

Justify

JustifyAll

KEXT$

KInstr

KLEN

KMID$

KNJ$

KPOS

KeyInterrupt

KeyboardHelp

LCASE$

LEN

LayoutMode

LeaderDots

LeaderHyphs

LeaderLines

LeaderNone

Left$

LeftAlign

LeftEdge

LineDown

LineNumber

LineUp

LoadOptions

LowerCase

MID$

MacroEdit

MacroHelp

MacroOptions

MacroPlay

ManualFrame

MarkBookMark

MarkIndexWord

MarkTOCEntry

MasterDoc

MasterDocOpts

Maximize

Merge

MergeToFile

Message

Messages

Minimize

ModLayoutFinish

ModLayoutInit

ModLayoutLeftFooter

ModLayoutLeftHeader

ModLayoutLeftLines

ModLayoutLeftPage

ModLayoutPageSize

ModLayoutRightFooter

ModLayoutRightHeader

ModLayoutRightLines

ModLayoutRightPage

Mod

ModifyAlignment

ModifyBreaks

ModifyEffects

ModifyFont

ModifyLayout

ModifyLines

ModifyReflow

ModifySelect

ModifyShade

ModifyShadeStyle

ModifySpacing

ModifyStyle

ModifyTable

ModifyUnder

ModifyUnderStyle

MouseInterrupt

MoveLeftOrPromote

MoveParagraphDown

MoveParagraphUp

MoveRightOrDemote

MultiDecide


関数 N ～ R

関連項目

関数 A ～ C

関数 D ～ E

関数 F ～ G

関数 H ～ M

関数 S ～ Z

New

NewWindow

NextWindow

NoHyphenation

NormalText

Notes

Now

OnKey

OnMDIActivate

OpenDataFile

OpenMergeFile

OpenPreviousFile1

OpenPreviousFile2

OpenPreviousFile3

OpenPreviousFile4

OpenPreviousFile5

OutlineLevels

OutlineMode

OutlineStyle

PageBreak

PageDown

PageNumber

PageUp

Paste

Pause

PhysicalToLogical

PrintEnvelope

PrintOptions

PrintSetup

ProtectCells

ProtectedText

Query$

QuickAddCol

QuickAddRow

ReadMail

RecClose

RecFieldCount

RecFieldName$

RecGetField

RecNextRec

RecOpen

RemoveLayout

RenameDocInfoField

RenameMenuItem

Replace

Restore

RevertLayout

Revert

ReviewRevisions

RevisionInsertion

RevisionMarkOpts

RevisionMarking

Right$

RightAlign

RightEdge

Round

RunLater


関数 S ～ Z

関連項目

関数 A ～ C

関数 D ～ E

関数 F ～ G

関数 H ～ M

関数 N ～ R

SJIS$

SJISTOJIS

SaveAsNewStyle

SaveAs

Save

ScreenDown

ScreenLeft

ScreenRight

ScreenUp

SelectColumn

SelectEntireTable

SelectFrameByName

SelectRow

SelectStyle

SelectWindow

SendFrameToBack

SendKeys

SendMail

SetBackPath

SetDataFile

SetDefOptions

SetDefPaths

SetDlgCallback

SetDlgItemText

SetDocPath

SetDocVar

SetFormula

SetFrameDefaults

SetGlobalArray

SetGlobalVar

SetIconPath

SetIconSize

SetIndexFile

SetMacroPath

SetMasterFiles

SetStylePath

SetStyle

SetTOCFile

SetTOCOpts

ShowBar

ShowIconBar

ShowStylesBox

ShowTabRuler

SingleStep

SizeColumnRow

SmallCaps

Sort

Spacing

SpecialEffects

SpellCheck

StandardView

StatusBarMsg

StyleManageAction

StyleManageFinish

StyleManageInit

StyleManagement

TOCOptions

TYPE

TabRulerInsert

TabRulerRemove

TabRuler

TableGetRange

TableLayout

TableLines

Tables

Thesaurus

TileWindow

ToMenuASCII$

ToMenuBinary$

ToggleCleanScreen

ToggleIconBar

ToggleStylesBox

ToggleTabRuler

TopOfFile

Truncate

TypeOver

UCASE$

Underline

Undo

UpperCase

UseAnotherStyle

UseWorkingDir

UserControl

UserSetup

UsingHelp

ViewPreferences

WordUnderline

WorkingView

WriteProfileString

strcat$

strchr

strfield$


マクロ言語
アミプロマクロ言語

マクロ言語について、詳細を説明します。各項目をクリックしてください。

言語の構成要素

マクロの入力と保存

１つのファイルにある複数のマクロ

変数

変数宣言

文字列中の変数の識別

変数の有効期間と使用範囲

グローバル変数

式

数学演算子

ビット演算子

関係演算子

論理演算子

演算子の優先順位

変数への代入

定数

定義済定数

注釈

マクロの呼び出し

組み込み関数の呼び出し

アミプロ関数の呼び出し

マクロの戻り値

プログラムの実行順序の変更

プログラムエラーの処理

マクロ制御命令


言語の構成要素

マクロ言語には、命令文、マクロ関数、アミプロ関数の３つの要素があります。マクロの実行を制御する命令文がたくさんあり、マクロ関数や アミプロ関数を組み合わせることにより強力なツールが作成できます。

マクロ命令文 はマクロを生成し制御します。制御命令について説明します。

マクロ関数 はマクロ実行時に、ユーザーや他のアプリケーションあるいは アミプロと情報をやりとりします。マクロ関数は通常、アミプロのメニューからは使えません。

アミプロ関数 は アミプロでユーザーがメニューバーやダイアログボックスを使って実行できる機能です。

関連項目

マクロの入力と保存


マクロの入力と保存

マクロは アミプロの文書として入力し、拡張子に「.SMM」を付けてマクロファイル形式として、ファイルを保存します。拡張子に「.SAM」を付けると アミプロは、マクロファイルとして認識せず、コンパイルしません。

マクロファイルの作成と編集は、<ファイル(F) 新規作成(N)>、<ファイル(F) オープン(O)>、<ファイル(F) 別名保存(A)> のメニューから行います。

また、既存のマクロファイルを編集するには、<ツール(L) マクロ(M) 編集(E)> メニューも使え、変更したマクロを保存するには、<ファイル(F) 保存(S)> のメニューで、アミプロマクロファイル形式を選択します。

<マクロ(M) マクロ登録(R)> メニューで作成したマクロを編集可能なマクロに変更することができます。

キー記録マクロを修正したときに、エラー112 が出ることがあります。

エラー112 は、キー記録マクロの中に編集可能な形式に変換できない関数があることを示しています。

こうのように変換できない関数には、注釈として連番が付いており、すぐに識別できます。

変換後のマクロファイルを保存すると、変換できなかった部分が無くなりますから、マクロのもとの機能を維持するときは、変換後のマクロファイルを保存しないでください。

マクロを読みやすくするためには、フォントや段落スタイルを選んだり、文字属性を付けて入力します。文字属性や段落スタイル情報はマクロファイルに保存され、マクロの実行には影響しません。

マクロで16進数を使うときは、「0x」または「0X」を数字の前に付けます。

マクロをより読みやすくするためには、１行に１命令文を入力します。

また、FOR/NEXT ループや IF/END 命令文の間にインデントを付けるため、TAB や 段落スタイルのインデントを使うのも良いでしょう。

マクロの実行速度を早くするために、マクロファイルは保存するときにコンパイルします。

コンパイルでエラーが見つかるとコンパイルは中断します。エラーメッセージが表示され挿入位置がエラー箇所に移りますから、すぐに修正できます。

コンパイルでは見つからない実行時エラー、たとえばドラフトモードで枠を作ろうとするようなエラーは、実行時にエラーが表示されます。

エラーメッセージやエラーの内容は、マクロエラーメッセージ を参照してください。


FUNCTION と END FUNCTION 文

マクロは FUNCTION 文で始まり END FUNCTION 文で終わります。

FUNCTION 文は、マクロの始まり、マクロの名前、マクロに渡す引数を定義します。

FUNCTION 文の構文は、

FUNCTION NAME([引数１][[,]引数２]...)

NAME はマクロ名です。マクロ名は数字以外で始まる文字列です。

引数１と引数２は実行時にマクロに渡される変数です。引数はマクロで必要な数だけ設定でき、なくてもかまいません。

ユーザーが <ツール(L) マクロ(M) マクロ実行(P)> やショートカットキーによって直接実行するときは、マクロに引数が渡せません。他のマクロの中で関数として呼ばれたときに引数を渡します。

引数名は文字列、数字、あるいは、変数宣言 で定義された変数でなければなりません。

END FUNCTION 文はマクロの終わりを定義し、マクロの呼び出し元に戻るか、マクロを終了します。

END FUNCTION 文の構文は

END FUNCTION

マクロの最終行は END FUNCTION 文でなくてはなりません。

END FUNCTION 文は各マクロに１つだけで、マクロに１つ以上の出口を設定する場合は、EXIT FUNCTION を使います。

次の例は、２つの数字の平均を計算するマクロで、平均値を返します。

1  FUNCTION average (p1, p2)

2  average = ((p1 + p2) / 2)

3  END FUNCTION

１行目はこのマクロの名前が average であることを示します。このマクロに渡す引数 は、p1,p2 です。

マクロの２行目は平均を計算し、最終行がマクロの終わりです。

変数 average に計算値を代入して average の値を呼び出したマクロに返します。

結果を返す必要があるときは、必ずマクロの名前の変数に結果を代入します。

関連項目

１ファイルにある複数のマクロ

マクロの戻り値


EXIT FUNCTION 文

END FUNCTION 文でマクロを物理的に終了する前に、EXIT FUNCTION 文でマクロを終了できます。

EXIT FUNCTION 文は１つのマクロに複数の出口を設定するときに使います。

END FUNCTION 文は１つのマクロに１つだけですが、EXIT FUNCTION 文はいくつあってもかまいません。

EXIT FUNCTION 文の構文は

EXIT FUNCTION

次の例はマクロの終わりより前で EXIT FUNCTION 文を使ってマクロを終了します。

1  FUNCTION saveit()

2  ' This macro saves a file only if the file has changed.

     Otherwise, it cancels the save

3  stat = FileChanged (0, 0) ' get file changed status

4  IF stat = false ' file hasn't changed

5        EXIT FUNCTION   ' quit; no need to save

6  ENDIF

7  save()  ' save file

8  END FUNCTION ' end it

この例では、ファイルを保存せずにマクロを終了するために、EXIT FUNCTION を５行目で使っています。

８行目の END FUNCTION はファイルを保存した後、マクロを終了します。

関連項目

END FUNCTION 命令

マクロの戻り値


１つのファイルにある複数のマクロ

１つのファイルに複数のマクロを設定できます。

通常、マクロが自分の中で他のマクロを呼ぶときは、１つのファイルに呼び出すマクロも同時に設定するのがよいでしょう。

呼び出すマクロが別のファイルにあるときは、そのマクロファイルをオープンする必要がありますから、同じファイルに関係するマクロを入れて置けば、マクロからの戻りが速くなります。

１つのファイルに複数のマクロがあるときは、１ファイルの中に、FUNCTION と END FUNCTION の組がマクロの数だけできます。

ユーザーが <ツール(T) マクロ実行(M)> メニューからマクロを実行するときは、マクロファイルの中の最初のマクロを実行します。

FUNCTION と END FUNCTIONの組の外側にある文字は、すべて注釈として、実行時には無視されますから、ここにマクロの機能を記述することができます。

以下のマクロは２つの数字をユーザーに問い合わせ、与えられた２つの数字の平均を計算し、平均値をユーザーに返します。

このマクロは２つの数字を問い合わせ、その平均を表示します。

1  FUNCTION main()

2  num1 = Query$ ("Type the first number:")

3  num2 = Query$ ("Type the second number:")

4  result = CALL average (num1, num2)

5  message ("The average of the two numbers is {result}")

6  END FUNCTION

このマクロは２つの数字の平均を計算します。

1  FUNCTION average (p1, p2)

2  average = ((p1 + p2) / 2)

3  END FUNCTION

main マクロは Query$ 関数を使って２つの数字を尋ねます。

次に平均を求めるために average マクロを呼び、Message 関数で平均値を表示します。

average マクロの結果は、変数 average に設定することで main マクロに返されます。

各マクロが始まる前にそれぞれのマクロの機能が説明してあることに注目してください。


変数

アミプロのマクロプログラムでは、配列を含めて変数が使用できます。

マクロ言語には、グローバル変数やマクロの実行中にマクロ間に渡される変数がありますが、すべての変数はその変数が定義されたマクロの中だけで使います。

アミプロ2.0 では名前でグローバル変数をアクセスできます。

変数には、整数型、実数型、文字型がありますが、アミプロでは変数値はすべて文字列として保存され、実行時に対応する型に変換されます。

変数を使う前に、変数を定義するために変数宣言をします。

配列は必ず変数宣言が必要ですが、その他の変数は特に宣言する必要はなく、使用時に暗に定義されます。

文字列変数は、最大 32K です。

変数や配列のアドレスをルーチンに渡すことができ、呼び出した関数が使っている変数の値を変更できます。

これは、関数が１つ以上の値を返したいときに便利な方法です。アドレスを渡す場合は、引数の変数の前に「&」を付けて関数を呼びます。

たとえば、passvar(&myvar)

この例では、サブルーチン passvar に変数 myvar のアドレスを渡します。

passvar は引数の変数を特に定義していませんが、この変数の値自体を変更するために、変数に「*」を付けて変数をアクセスしています。

例

1  FUNCTION passvar(pv)

2  *pv=*pv+1

3  END FUNCTION

この例では、passvar は呼び出し元の変数値を加算します。

アドレスによる変数代入 (インダイレクション) を行うときは、その前の行で命令文の終了を示す セミコロン (;) が必要です。それ以外の命令文終了では ; の設定は自由です。

例

y=2;

*p1="text"

関連項目

DEFSTR と DIM 文による変数宣言

変数の有効期間と使用範囲

グローバル変数

変数設定


DEFSTR と DIM 文による変数定義
DEFSTR と DIM 文による変数宣言

変数は DEFSTR 文で、配列は DIM 文により変数宣言をします。

DEFSTR の構文は

DEFSTR name1 [,name2]...

name1 と name2 は定義する変数名です。

例

1  FUNCTION typeami()

2  DEFSTR progname

3  progname = "Ami Pro"

4  TYPE ("The name of this program is {progname}.")

5  END FUNCTION

この例では、progname が２行目で変数宣言されています。

３行目で「Ami Pro」が値に設定され、４行目で TYPE 関数を使って変数と他の文字で画面にメッセージを表示します。

DIM 文は配列のサイズを宣言すること以外は、DEFSTR 文と同じ機能です。

DIM 文は宣言のたびに評価され、配列の古い内容は捨てられます。

DIM の構文は

DIM array1 (count1) [, array2 (count2)]...

array1 と array2 は宣言される配列の名前です。

count1 は array1 のサイズです。

count2 は array2 のサイズです。

例

1  FUNCTION typenames()

2  DIM names(4)

3  names(1) = "John White"

4  names(2) = "Bill Smith"

5  names(3) = "Doug Robinson"

6  names(4) = "Rob Miller"

7  FOR count = 1 to 4

8      curname = names(count)

9      TYPE ("Name number {count} is {curname}.[ENTER]")

10 NEXT

11 END FUNCTION

このマクロの２行目は４個の要素をもつ配列を宣言します。

３～６行目では配列の各要素に文字列の値を設定します。

７行目は繰り返し文 FOR/NEXT ループの始まりです。

８行目は変数 curname に 配列 names の対応する要素の値を代入します。TYPE 関数により、文書の中に挿入されます。

10行目と 11行目は FOR ループとマクロの終わりです。

変数の暗黙宣言

配列以外の変数は、変数宣言は必要ありません。変数に値を代入することによって暗黙に宣言されます。

関連項目

文字列中の変数の識別

変数の有効期間と使用範囲


Identifying Variables in Strings
文字列中の変数の識別

引数の文字列の中に変数を組み込むために、波カッコ ({  }) を使います。

次の例で説明します。

TYPE ("The first item on the list is {item}")

ここでは、item に {  } を付けることにより、文字列ではなく変数名であることを明示して、引数には item の値を渡します。

配列は、{  } を付けて引数として渡すことはできません。

関連項目

変数の有効期間と使用範囲

TYPE 関数


変数の有効期間と使用範囲
マクロ中の変数保存

マクロプログラムでは、変数はすべて文字列として記憶されます。

変数を数値として参照するときは、実行時に自動的に整数あるいは実数型に変換されます。

変数値は実行時に評価しますので、数値以外の変数を数値として参照しようとすると、実行時にエラーが起きます。

変数の有効期間と使用範囲

変数は、それが定義されたマクロの中だけで有効であり、マクロが終了すると変数もなくなります。また、変数の使用範囲は、その変数がマクロ間でどのように渡されるかによって決まります。

アミプロでは、引数に変数のアドレスを渡さない限り、各変数はそれを定義したマクロの中だけで有効で、他のマクロからは使用できません。また、マクロを終了すると、変数は無くなりますから、再度マクロを実行すると変数は初期化され以前の値は無くなります。

マクロが別のマクロに変数を引数として渡すときは、引数の変数がコピーされて、呼び出されたマクロ内で使用されます。従って、元の変数は他のマクロによって変更できません。

関数は結果を呼び出し元のマクロに返しますから、呼び出したマクロは結果を任意の変数に代入できます。

アミプロでは引数の値を呼び出し元で定義できないとき、あるいは２つ以上の結果を関数から返すときに、引数のアドレス渡しの方法を使います。

次の例で、関数に変数を渡す方法とその結果を説明します。

1  FUNCTION main()

2  var1 = "original value, main macro"

3  TYPE ("{var1}[ENTER]")

4  CALL upcase (var1)

5  TYPE ("{var1}[ENTER]")

6  var1 = CALL upcase (var1)

7  TYPE ("{var1}[ENTER]")

8  END FUNCTION

9  FUNCTION upcase(var2)

10 TYPE("original value, upcase macro[ENTER]")

11 var3 = UCASE$(var2)

12 TYPE ("{var2}[ENTER]")

13 upcase = var3

14 END FUNCTION

上のマクロの出力結果は次のとおりです。

1 original value,main macro

2 original value,upcase macro

3 original value,main macro

4 original value,main macro

5 original value,upcase macro

6 original value,main macro

7 ORIGINAL MACRO,MAIN MACRO

１行目は main マクロの３行目の結果で、main マクロで定義されている var1 のオリジナルの値を表示します。

３行目は upcase マクロの 12行目の結果です。var2 は UCASE$ 関数 (引数を大文字に変換する) に引数として渡しましたが、値は変わりません。

４行目は main の５行目の結果で、変数を引数として渡しても、変数の値が変っていないことを示しています。同様に、５行目と６行目は upcase マクロが２度目に呼ばれた結果で、１度目と同じです。

７行目は main の７行目の結果で、main マクロの６行目で var1 に upcase マクロの結果を代入したときに大文字に変わりました。

関連項目

グローバル変数

１つのファイルにある複数のマクロ


グローバル変数
グローバル変数の利用

マクロが終了しても変数値を保持したい場合や、呼ばれたマクロが親マクロの変数を１つ以上変更したい場合は、グローバル変数を使います。

アミプロには、グローバル変数を作ったり、管理したりする関数があります。

グローバル変数は使用しないときも情報を蓄えておける安全な貯金箱のようなものです。

マクロを終了したあとで使いたい情報ができたときは、グローバル変数を作り、プログラムの固有変数の値をグローバル変数に代入します。

別のマクロや同じマクロの再実行時に、必要になったグローバル変数の値をマクロの変数に代入し、参照したり変更したりします。

グローバル変数の使い方の詳細な説明はグローバル変数の関数 を参照してください。

関連項目

変数の有効期間と使用範囲

１つのファイルにある複数のマクロ


式

式は数値、文字列、変数、演算子の組み合わせです。

式は、変数に代入する値を計算したり、関数やマクロの引数やマクロの結果に使ったり、あるいはマクロルーチンを実行するかしないかを決めるために使います。

次に式の例を示します。

1  var

2  var + var1

3  var | var1

4  var * 3 >var2

5  var < 10 AND var >0

１行目の式は変数だけです。式に演算子がないときは式は変数か定数に限ります。

２行目の式は２つの変数を加算する演算子 「+」 を使っています。

３行目は変数 var1 と var2 の値をバイナリとして扱い、OR 演算子を使っています。

４行目は２つの値を比較する関係演算子 (より大きい) を使っています。

５行目は２つの論理値を比較する論理演算子 AND を使っています。

数学、関係、論理のどの演算子も式の中の他の要素を操作して結果を出します。

４つの演算子の型は数学演算子 、ビット演算子 、関係演算子 、論理演算子 です。

関連項目

演算子の優先順位


数学演算子

数学演算子には加算、減算、乗算、除算があります。

数学演算子は以下のとおりです。

名前 (記号) - 定義

乗算 (*) - 演算子の左の値に右の値を掛ける

除算 (/) - 演算子の左の値を右の値で割る

加算 (+) - 演算子の左の値に右の値を加える

減算 (-) - 演算子の左の値から右の値を引く

数学演算で数値以外を使うと、実行時にエラーが起こります。


ビット演算子

ビット演算子にはビット対応の AND と OR があります。

ビット演算子は以下のとおりです。

名前 (記号) - 定義

ビット対応の AND (&) - 演算子の左右の値の各ビット間で論理的な AND をとる

ビット対応の OR  (|) - 演算子の左右の値の各ビット間で論理的な OR をとる

ビット演算に整数以外を使うと、実行時にエラーが起こります。


関係演算子

関係演算子には等しい、大きい、小さい、大きいか等しい、小さいか等しい、等しくないがあります。

関係演算子は以下のとおりです。

名前 (記号) - 定義

等しい (=) - 記号の左右の値を比較して、値が等しければ真になる。

大きい (>) - 記号の左右の値を比較して、左側が右側より大きければ真になる。

小さい (<) - 記号の左右の値を比較して、左側が右側より小さければ真になる。

大きいか等しい (>=) - 記号の左右の値を比較して、左側が右側より大きいか等しければ真になる。

小さいか等しい (<=) - 記号の左右の値を比較して、左側が右側より小さいか等しければ真になる。

等しくない (<> または !=) - 記号の左右の値を比較して、値が異なれば真になる。

関係演算で使う値は、文字列、数値、式のいずれでもかまいません。


論理演算子

論理演算子には AND、OR、NOT があります。

論理演算子は以下のとおりです。

論理積 (AND) - 記号の左右どちらの式も真のとき真になります。

論理和 (OR)  - 記号の左右どちらかが真のとき真になります。

否定　 (NOT) -  記号の右の値を評価して、偽のとき真になり、真のとき偽になります。

論理演算で使う値は、整数、数字、文字列、式のいずれでもかまいません。

値が 0 または、空文字列のときは偽となり、それ以外は真となります。


演算子の優先順位

複数の演算子を含む式は、演算子の優先順位により評価します。

２つの演算子の優先順位が同じ場合は、左から順に評価します。演算子の優先順位は以下のとおりです。

NOT

乗算と除算

加算と減算

ビット対応の AND と OR

より大きい、より小さい、大きいか等しい、小さいか等しい

等しいと等しくない

AND と OR

式の評価の順番を変更したり、明確にするために、(  ) を使います。(  ) がある場合は、内側の (  ) から順に評価します。演算子を続けて使うときは、(  ) で分けます。

次の例で式の評価を示します。 (  ) を使って評価の順番を変えている箇所があります。

var > var1 	' is true if var > var1

var = 4 	' is true if var = 4

name < "Jones" 	'is true if name is anything besides Jones

var + var1 <= var2 * var3

var > var1 AND var1 < 10

var <>0 OR (NOT IsNumeric(var)) ' two operands in a row

' determines if the variable c is alphabetic

(c >= "A" AND c <= "Z") OR (c >= "a" AND c <= "z")

' true if var3 >0 or if var = 0 and either var1 or var2 is numeric

var = 0 AND (IsNumeric(var1) OR IsNumeric (var2)) OR var3 >0

' true if var = 0 and either var1 or var2 is numeric or var3 >0

var = 0 AND ((IsNumeric(var1) OR IsNumeric (var2)) OR var3 >0)


変数への代入

式の結果を変数や配列の要素に代入するには、LET 文を使います。

LET 文の構文は次のとおりです。

[LET] var = expression

var は代入する変数名です。

配列に代入する場合は、次のようになります。

[LET] array(expr) = expression

array は式の値を代入する配列名です。

expr は式の値を代入する配列の要素の番号で、式でもかまいません。

expression は前頁までに定義されたような有効な式です。

変数への代入の例を、以下に示します。

変数の単純な代入　　　name = "string"

他の変数を代入　　　　name2 = name

配列要素に代入　　　　array(1) = "String"

配列要素を式で定義して、変数値を代入　　array(i+5) = name

関数の結果を代入　　　var = Query$("Type a value")

マクロの結果を代入　　var = CALL mac2()


定数
定数と注釈の使用

定数

定数はマクロの中で一定の値を持つ式の１つです。

通常、定数をマクロで使うときは、文字列として表記します。

変数名やキーの名前 (TYPE 関数の引数として使う) を文字列で表現するので、文字列中でこれらを区別するための特殊文字があります。たとえば、文字列中の変数名には、波カッコ ({  }) を付け、キーの名前には角カッコ ([  ]) を付けます。また、

文字列は引用符 ("  ") で囲みます。従って、これらの特殊文字を文字列中で使うときは、以下のように区別します。

文字列中で角カッコ ([) を文字列として扱うときは [[ 、{ は、{{、" は、"" のように２つ続けます。但し、} と ] は１つでかまいません。

以下は、文字列の表記の例です。

1  FUNCTION strings()

2  ' a string assigned to a variable

3  var = "Variable"

4  'a typical string

5  TYPE ("This is a constant string of text. ")

6  'a string with a key name

7  TYPE ("This string has a key name inside it.[ENTER]")

8  'a string with a variable name

9  TYPE ("This string contains a variable with the value {var}.")

10  'a string with curly braces embedded

11  TYPE ("The curly brace character, {{, is used to fence a variable. ")

12  'a string with a square brace character

13  TYPE ("The square brace character, [[, is used to fence a key name. ")

14  'a string with embedded quotes

15  TYPE ("Use quotation marks like this ""string"" to define a string.")

16  END FUNCTION

マクロの出力は次のようになります。

This is a constant string of text.This string has a key name inside it.

This string contains a variable with the value Variable.The curly brace character,{,is used to fence a variable.The square brace character,[,is used to fence a key name.Use quotation marks like this "string" to define a string.

関連項目

定義済定数


定義済定数

アミプロには、関数で渡される引数の数値が定義してある定数表があります。

定数表にある名前を関数の引数に使うと、マクロがわかりやすくなります。

定数表にある名前が文字列中以外で使われていると、コンパイル時に定数表にある数値に置換されます。フラグを引数として使う関数がたくさんあり、フラグの値によって種々の異なった情報を関数に伝えます。関数はバイナリ演算によりフラグから複数の情報を抽出します。

プログラムでは、定数名を加算してフラグに設定し、希望の数値を関数に渡します。

マクロで定義済定数を使う例を示します。

1  FUNCTION lineson()

2  'This macro turns on line numbering in a file

3  flag = NumberLines+NumberEveryOther+ResetEachPage

4  ' compiles as flag = 1+4+16, so flag = 21

5  LineNumber (flag, "Body Text")

6  message ("Line Numbering On")

7  END FUNCTION

'this macro turns off the line numbering

1  FUNCTION linesoff()

2  LineNumber (off, "Body Text")

3  ' compiles as LineNumber (0,"Body Text")

4  message ("Line Numbering Off")

5  END FUNCTION

この例では、２つのマクロはそれぞれファイルの行番号付けを設定します。

lineon マクロはページ毎に番号を１にリセットして、行番号付けします。

lineoff マクロは行番号を削除します。

LineNumber 関数の最初の引数は行番号を付けるためのオプションを指定するフラグで、オプションを表わす各ビットに対応する数値を加算することにより１つの数値として関数に渡します。

行番号付けをオンにするオプションは１、１行置きに番号付けするオプションは４、各ページで番号をリセットするオプションは 16です。

プログラマーがこれらの数を合計して引数に数値を直接書くよりも、定義済の定数を使う方がマクロの目的が明確になります。

同じことが lineoff マクロでも言えます。番号付けをオフにするフラグは０で、off は定数表で０と定義されています。マクロをよりわかりやすくするために、off を使います。

定数表は、アミプロがインストールされているディレクトリに「MACDEFIN.SAM」という名前の アミプロ短文ファイルとして保存されています。定数名は、各関数の説明箇所に記述してあります。

短文ファイルは必要に応じて追加できます。

短文に登録する項目名はマクロに入力する定数名にして、項目値は置換する数値に設定します。

定義する名前と置換する数値に空白を含むことはできません。

定義する名前はアルファベットで始まる文字と数字だけの文字列です。


DEFINE
DEFINE 文

DEFINE 文により、数値定数を名前で定義できます。

構文は、

DEFINE identifier replacement

例

DEFINE All 1

DEFINE JUSTONE 2

MyFunction(ALL)

       ..........

FUNCTION MyFunction(type)

       ..........

IF (type=ALL)

ELSEIF(type=JUSTONE)

上記の例では、マクロの実行時に、ALL と JUSTONE は 1 と 2 に置き換えられます。

また、DEFINE 文には、引数の値を置き換える強力な機能があります。

構文は次のようです。

DEFINE identifier([optional descriptive parameters]) replacement([parameters])

Replace 関数を使って説明します。

次のように、Replace 関数を DEFINE 文で定義します。

DEFINE Findit() Replace(0,0,4,%1,0)

マクロ中で引数の %1 を置き換えるテキストを設定します。

Findit("text")

システムは、マクロをコンパイルするとき、Findit("text") を Replace(0,0,4,"text",0) に置き換えます。

引数の一部を DEFINE 文によって置き換える方法は、DOS のバッチファイルの引数の記述方法と同じです。

引数が複数ある場合は、%2、%3、のようになります。これらは何度でもどんな順番でも使えます。

システムは、DEFINE 文により完全な置き換えの形を記憶します。

次に実際に置き換えが起きたときに、引数をカッコ ((  )) で囲み、引数を空白かカンマ (,) で区切ります。

引数は "  " で囲まれた文字列か、(  ) で囲んだ１つの文字列 (空白を含まない連続した文字) になります。

置き換えるための引数が指定されると、引数を１つずつ調べて置き換えます。置き換え後の引数の文字列の長さの制限は 最大 500文字です。

DLL 関数を呼び出す例を示します。

DllCall(Dllid,p1,p2)

または

DEFINE LookUp() DLLCall(Dllid,%1,%2)

LookUp(p1,p2)


マクロの注釈

マクロの注釈は、次の２種類があります。

1. FUNCTION と END FUNCTION の組の外側にある文字列

2. 引用符 (') に続く文字列

引用符 (')  が行の先頭にある場合は、行全部が注釈になり、命令文のあとにあるときは、引用符 (') 以降が注釈になります。

次に注釈の使用例を示します。

1  FUNCTION showcomment()

2  'This macro illustrates the use of comments in a macro

3  var = "Print Me" ' this line assigns a value to a variable

4  var1 = "Print Me, Too" ' this line also assigns a value to a variable, and this comment is longer than a single line of text.

5  TYPE ("{var}") 'TYPE ("{var1}") var 1 is a comment and not printed.

6  END FUNCTION

マクロの出力は次のようになります。２番目の TYPE 関数は注釈の中にあり、実行されません。

Print Me


他のマクロの呼び出し方

マクロは手続きを実行するために別のマクロを呼んだり、あるいは呼び出し元のマクロに値を返したりします。他のマクロを呼び出す方法には、次の２種類があります。

1. DECLARE 文で、他のマクロを呼び出す前に宣言する。

2. CALL 文または CALLI 文を使って呼び出す。

最初に DECLARE 文で宣言しても、CALL 文や CALLI 文を使って呼び出しても機能は同じです。

アミプロは他のマクロを検索パスに従って探します。検索パスは、外部メニューを探すのと同様、他のファイルを探すときのパスで、これにより他のマクロを呼び出すときも完全なパス名を記述する必要はありません。

アミプロやマクロ関数など組み込み関数を使うときは、特に宣言も CALL 文も必要なく、引数を付けて呼び出すだけです。

また、組み込み関数の中には、関数名だけで呼ぶと、ダイアログボックスを表示し、ユーザーが引数を入力できる関数もあります。

関連項目

組み込み関数の呼び出し

実行時のマクロ検索

アミプロ関数の呼び出し

マクロからの戻り値


DECLARE 文

DECLARE 文は他のマクロに、マクロ名であることを前もって宣言します。

構文

DECLARE [Filename!] macroname([parm1] [[,] parm2]...)[ALIAS short_name]

macroname は後で使うマクロの名前で、他のファイルにマクロがあるときは、ファイル名 (Filename) を含みます。parm1 と parm2 は変数で、マクロに渡す引数です。

ALIAS short_name はファイル名の代わりに使う名前です。

次の例で説明します。

DECLARE HEAPSORT.SMM!Sort(p1,p2) ALIAS sort

Sort は次のように使います。

Sort(&Name,Count)

DECLARE 文では、マクロ名を認識するだけでマクロの参照はなく、１度の宣言だけであとは名前と引数の指定により、マクロを使うことができます。

関連項目

CALL と CALLI 命令

DECLARE,CALL,CALLIの例


CALL 文と CALLI 文

CALL 文と CALLI 文はどちらも別のマクロを実行するときに使います。

CALL 文は、コンパイル時にマクロ名がわかっているときに使い、CALLI 文はマクロの実行時までマクロの名前がわからないときに使います。

CALL 文の構文は以下のとおりです。

CALL [[drive:path\]macrofile!]macroname ([parm1] [[,] parm2]...)

macroname は呼び出し、実行するマクロ名で、drive, path, macrofile はそのマクロが存在するドライブ名、パス名、マクロファイル名です。

parm1 と parm2 はマクロに渡す引数です。

CALLI 文の構文は以下のとおりです。

CALLI variable ([parm1] [[,] parm2]...)

variable はマクロの名前に相当する文字列変数です。variable は CALL 文の説明にあるように、ドライブ名とパス名とファイル名を含む場合もあります。同様に、parm1 と parm2 はマクロに渡す引数で、式でもかまいません。

ドライブ名、パス名、ファイル名を指定するときは、マクロ名の前に「!」を付けて設定します。同一ファイルにあるマクロを呼び出すときは、ドライブ名やファイル名は必要ありません。

パス名を指定したときは、そのパスからファイルを探し、指定がないときは、アミプロはマクロディレクトリ、ドキュメントディレクトリ、呼び出したマクロのディレクトリを探します。

CALL 文では、マクロのディレクトリを記述しますので、実行時までマクロの存在するパスがわからないときは、CALLI 文を使います。

関連項目

DECLARE 文, CALL 文, CALLI 文の例


DECLARE 文, CALL 文, CALLI 文の例

DECLARE 文,CALL 文,CALLI 文の例を示します。

  FUNCTION main()

  DECLARE getopt() ' declare this variable so we can use it later

  string = Query$ ("Type a word or a number:")

  flag = getopt() ' since declared, don't have to use CALL statement

  IF (flag = 6)

        result = CALL sub1 (string) ' since macro is here, just use CALL statement

        message ("There are {result} letters in {string}.")

  ELSE

        path = GetMacPath$() ' find macro path

        macname = strcat$ (path, "MACFILE.SMM!SUB2") ' put into var

        result = CALLI macname (string) ' use variable cause don't know file

        message ("There are {result} digits in {string}.")

  ENDIF

  END FUNCTION

  FUNCTION sub1 (string) ' this is in original file

  sub1 = LEN(string)

  END FUNCTION

  FUNCTION getopt() ' this is in original file

  getopt = MultiDecide ("Choose Yes for letters; No for numbers", 35)

  END FUNCTION

  FUNCTION sub2 (string) ' this is in MACFILE.SMM

  numcount = 0

  FOR count = 1 to LEN(string)

        c = MID$(string, count, 1)

       IF (isnumeric(c))

              numcount = numcount +1

       ENDIF

  NEXT

  sub2 = numcount

  END FUNCTION

この例は、単語の文字数あるいは数値の桁数を表示するマクロです。このマクロは Macfile.smm というサンプルファイル名です。

getopt マクロを２行目で引数なしで宣言しています。

３行目では、Query$ 関数を単語の入力のために使っています。

４行目では、getopt マクロを文字数と数字の桁数のどちらを数えるかをユーザーに問い合わせるために呼んでいます。

文字数のときは、同じファイルにある sub1 マクロを６行目で CALL を使って呼びます。

数字のときは、マクロの存在するパスを調べるために、GetMacPath$ 関数を８行目で使っています。

返ってきたパス名をマクロ名に付加して、変数 macname に代入し、CALLI 文で sub2 マクロを呼んでいます。どちらの場合も、最後に結果がメッセージボックスに表示されます。

関連項目

実行時のマクロ検索GetMacPath$


実行時のマクロ検索

マクロの記述にフルパスが指定してあるとき、アミプロは、実行時にそのパスのマクロを探しますが、パスの記述がない場合は、次の順序でマクロを探します。

はじめに、既定のマクロディレクトリを探し、次に、ユーザーの文書ファイルディレクトリを探し、続いて アミプロがあるディレクトリ (通常 \AMIPRO) を探します。このパスのどこにもないときは、エラーメッセージを表示します。

アミプロをインストールするとき、アミプロの下の ディレクトリ MACROS (通常 \AMIPRO\MACROS) が、マクロディレクトリの既定値になり、マクロのサンプルがこのディレクトリにインストールされます。

マクロのダイアログボックスが表示されるときは、いつもこのパスのマクロが表示されます。

このパスは、次の方法で変更できます。

<ツール(L)環境設定(U) ディレクトリ(P)> で変更する。

AMIPRO.INI ファイルを変更する。

マクロ関数GetProfileString$ と WriteProfileString を使って変更する。

他の人が使うマクロを作るとき、他のマクロを呼ぶとき、メニューにマクロを割り当てたり、あるいは外部のダイアログボックスを使ったりするときなど、マクロファイルのパスを記述できないときがあります。

また、上記の検索パスでも探せないときがあります。

このようなときは、マクロを実行するために必要なファイルをすべて同じディレクトリに置き、マクロでは呼び出すマクロのファイル名とマクロ名だけを記述しておきます。

マクロ実行時に、GetMacPath$ 関数で自分自身のパスを調べることにより、同じディレクトリにある関連ファイルのパスを決定できます。


組み込み関数の呼び出し

アミプロマクロ言語にはマクロ内で呼べる種々の関数があります。

マクロの実行を制御するもの、ユーザーに割り込みをさせるもの、アミプロ自身に割り込みさせるもの、Windows の Dynamic Data Exchange プロトコルを使って他のプログラムに割り込みさせるものなどです。

組み込み関数を呼ぶ構文は以下のとおりです。

[result = ]function([parm1][[,] [parm2] ...)

result は関数の戻り値を代入する変数です。

function は関数名です。

parm1 と parm2 は関数に渡す引数です。

次の例では、ユーザーの既定文書ファイルディレクトリを求めて、それを表示し変更するための組み込み関数 GetDocPath$, SetDocPath, Decide と Query$ を使っています。

1  FUNCTION changepath()

2  path = GetDocPath$() ' gets current path

3  response = Decide ("Change Document Path From {path}?")

4  IF (response) ' user said yes to dialog box

5        path = Query$ ("Type New Path:")

6        SetDocPath (path)

7  ENDIF

8  END FUNCTION

２行目で現在のパスを求めるために GetDocPath$ 関数を使っています。この関数の結果を変数 path に代入します。

３行目ではダイアログボックスを表示してパスを変更するかどうかを聞くために Decide 関数を使っています。

Decide 関数には、ダイアログボックスで使うプロンプトのメッセージが必要です。このメッセージに対してユーザーは 「はい」か 「いいえ」のどちらかを選択し、「はい」のときは TRUE を、「いいえ」のときは FALSE をDecide 関数が返します。

Decide 関数からの戻り値を変数 response に代入します。ユーザーがパスを変更すると決めたら、５行目で Query$ 関数で新しいパスを入力する編集ボックスを表示し、ユーザーが入力した値を変数 path に代入します。

６行目で SetDocPath 関数を使って path を新しい文書ファイルディレクトリに設定します。

引数や戻り値など、組み込み関数の詳細は 「マクロ関数と「マクロから呼び出せるアミプロ関数」 を参照してください。


Ami Pro 関数の呼び出し
アミプロ関数の呼び出し

アミプロの機能はほとんどマクロから実行でき、プルダウンメニューから実行する アミプロ機能と同等の アミプロ関数がマクロ言語にあります。

アミプロ関数の使い方は、引数値をマクロですべて設定して自動実行するか、あるいは、ダイアログボックスを表示して、ユーザーが選択して実行するかの２つの方法があります。

ユーザーの介在なしに実行する場合の構文

[result = ]function([parm1][[,] [parm2] ...)

result は関数の戻り値を代入する変数です。

parm1 と parm2 は関数に渡す引数です。

ダイアログボックスにより、ユーザーが引数を設定する場合の構文は

[result = ]function

function は関数名です。

通常 アミプロ関数は正常に終了したとき TRUE (1) を返します。ユーザーがキャンセルして実行しなかったら FALSE (0) を返します。プログラム状態が関数を禁止していたり何か他の理由で関数が実行できないときは GENERALFAILURE (-2) を返します。

次のマクロは現在の文書の行間隔を自動的に１にします。

1  FUNCTION singlespace()

2  result = Spacing(SpaceSingle)

3  IF (result <> TRUE) ' the spacing was not equal to single

4        message ("Failed to set single spacing.")

5  ENDIF

6  END FUNCTION

２行目で アミプロ関数 Spacing を呼ばれます。Spacing 関数には１つの引数が必要です。

SpaceSingle は１行間隔の値である -1 が定義されています。

関数の結果を変数 result に代入します。

この変数は４行目で調べ、行間隔の変更が終了していなければユーザーにエラーメッセージを表示します。

次のマクロでは、行間隔をユーザーが指定します。

1  FUNCTION setspace()

2  result = Spacing

3  IF (result = false)

4     message ("Did not set spacing")

5  ENDIF

6  END FUNCTION

２行目で Spacing マクロを () なしで呼んでいます。

ここでは、ユーザーが希望の行間隔をセットできるようにダイログボックスを表示します。

前の例と同様に関数の結果は変数 result に代入し、行間隔が変更できないときは、メッセージを表示します。

アミプロ関数の詳細は アミプロ関数 を参照してください。


マクロからの戻り値

マクロは呼び出し元のマクロに値を返すことができます。

戻り値には、数字、文字列、あるいはマクロが正常終了したことを示すステータスコードなどがあります。

戻り値はマクロと同じ名前の変数に代入することにより、マクロが END FUNCTION または EXIT FUNCTION で終了するとき、呼び出し元のマクロに返されます。

以下は、マクロからの戻り値の例です。

1  FUNCTION calc()

2  'this macro gets two numbers from the user, adds them together and displays the result.

3  num1 = Query$ ("Type the first number:")

4  num2 = Query$ ("Type the second number:")

5  result = CALL addit (num1, num2)

6  message ("The sum of {num1} and {num2} is {result}.")

7  END FUNCTION

8  FUNCTION addit(num1, num2)

9  addit = num1 + num2

10  END FUNCTION

calc マクロは Query$ 関数を使って３行目と４行目でユーザーから２つの数字を得ます。

５行目で addit マクロを呼び、変数 result に戻り値を代入します。

６行目で message 関数により結果を表示します。

addit マクロは変数 addit に２つの変数の合計を代入して終了します。

マクロと同じ名前の変数に合計を代入することによって、その値を calc マクロに返します。


プログラムの実行順序の変更

アミプロマクロ言語には、同一のマクロの中で、別のセクションに制御を移す命令文があります。

別の位置から続けるときや元の位置に戻らなくてもよいときに、この命令は便利です。

また、エラー処理やユーザーの取り消し処理を行う特別な命令文もあります。

LABEL 文

制御を移す位置をラベルと呼び、次の構文で定義します。

Label:

ラベル名は、１つの文字列 (空白を含まない) の後に「:」を付けます。

ラベル名に、関数名や命令文の名前は使えません。

次にラベルの例を示します。

Topofloop:

Any1:

proceed:

関連項目

GOTO 命令


GOTO 文

GOTO 文はマクロプログラム内の別の位置に無条件でジャンプする命令文です。GOTO 文でジャンプする位置は同一マクロの中で LABEL として定義します。

GOTO 文の構文は以下のとおりです。

GOTO label

label はマクロの中で定義したラベルの名前で、GOTO 文で指定するときは、コロン (:) を付けません。

次に GOTO 文と LABEL を使った例を示します。

1  FUNCTION main()

2  string = Query$ ("Type a word or a number:")

3  flag = (MultiDecide ("Choose Yes for letters; No for numbers", 35))

4  IF (flag = 6) GOTO letters

5  ELSEIF (flag = 7) GOTO numbers

6  ENDIF

7  letters:

8  result = LEN(string)

9  message ("There are {result} letters in {string}.")

10  GOTO endit

11  numbers:

12  numcount = 0

13  FOR count = 1 to LEN(string)

14        c = MID$ (string, count, 1)

15        IF (isnumeric(c))

16              numcount = numcount +1

17        ENDIF

18  NEXT

19  message ("There are {numcount} digits in {string}.")

20  endit:

21  END FUNCTION

このマクロは CALL 文と DECLARE 文の説明で使った例の変形です。

文字数を数えるか数字の桁数を数えるかの選択を、サブルーチンを使わずに、２行目と３行目で直接行います。

文字の場合は、４行目の GOTO 文で７行目のラベル letters にジャンプします。

数字の場合は、５行目の GOTO 文で11行目の ラベル numbers にジャンプします。

10行目の GOTO 文で数字の処理をせずに、マクロの終わりにジャンプします。

プログラムの流れを制御するために GOTO 文を使うと、マクロは読みにくくなり、編集などで間違いやすくなります。

GOTO 文の代わりに、サブルーチンや他のプログラム制御命令を使えば、よりわかりやすく、安全なマクロを書くことができるでしょう。


プログラムエラーの処理

マクロの実行時エラーは、マクロが見つからない、数字の引数が必要な関数に文字列を渡すなど、種々の状況で起こる可能性があります。

エラーが起こるとマクロは、エラーメッセージを表示して終了します。

このようにエラーが起こる可能性があるときに、ONERROR 文を使うと、間違いをユーザーに知らせて正しい操作を示したり、あるいは修正可能とするエラー処理ルーチンにプログラムの制御を移すことができます。

ONERROR 文の構文は次のとおりです。

ONERROR label

label はエラー時にジャンプする LABEL の名前です。

ONERROR 文のもう１つの重要な機能は、エラー処理後、マクロの後始末をすることです。

マクロがグローバル変数の関数やテキストファイルの関数を使っているときに特に重要な機能です。

これらのルーチンの後処理なしにマクロを終了すると、アミプロや Windows に影響します。

プログラム実行中止の処理

ユーザーはマクロ実行中にキー入力するか、Query$ 関数のダイアログボックスで、取消を選択することにより、マクロの実行を中止できます。

このようにマクロを中止すると、通常、マクロは何もメッセージを表示せずに終了します。

ONCANCEL 文を使うと、マクロが中止されたことを知らせるかあるいは、別の場所から続行することをユーザーに知らせることができます。

ONCANCEL 文の構文は次のとおりです。

ONCANCEL label

label はユーザーがマクロを中止したときにジャンプする LABEL の名前です。

次に ONERROR 文、ONCANCEL 文の例を示します。

1  FUNCTION main()

2  ONERROR ErrorRoutine 'set error routine

3  ONCANCEL CancelRoutine 'set cancel routine

4  Query$ ("Choose OK or CANCEL.") ' set up routine

5  CALL notthere() ' this causes an error, since macro not there

6  GOTO endit

7  CancelRoutine:

8  message ("You cancelled the macro.")

9  GOTO endit

10  ErrorRoutine:

11  message ("There has been a macro error.")

12  endit:

13  END FUNCTION

この例では、２行目と３行目でエラー処理と中止の処理の位置を定義しています。

次に 「了解」か 「取消」かを、Query$ 関数を使ってユーザーに問い合せています。

ユーザーが 「了解」を選ぶとマクロは５行目の notthere という存在しないマクロを呼びます。

この結果、10行目のエラールーチンにジャンプします。

ユーザーが Query$ 関数で 「取消」を選ぶとプログラムは７行目の中止の処理にジャンプします。

ONERROR文、ONCANCEL 文を使うときは、例にあるようにマクロの先頭に書いてください。

ONERROR 文や ONCACEL 文の行より前で起きたエラーや中止では、エラー処理や中止の処理にジャンプできません。

関連項目

GOTO 命令


マクロ制御命令
式の評価による実行文の制御

マクロ言語には式の値をもとに実行を制御する命令文があります。

たとえば、次に実行するステップを変数の値で決めたり、一連の実行文を回数で制限したりします。

このように実行文を制御する命令文を、以下に示します。

FOR/NEXT 文は、指定の回数だけ繰り返し実行します。

IF/THEN 文は、式の評価が TRUE のときに実行します。

SWITCH/ENDSWITCH 文は、変数の値によって一連のステップを実行します。

WHILE 文は、式の評価が TRUE の間、一連のステップを繰り返し実行します。


FOR/NEXT 文
FOR 文

FOR 文は一連のプログラムステップを複数回、繰り返し実行するときに使います。

FOR 文の構文は次のとおりです。

FOR assignment TO expression1

[STEP expression2]

   program statements

NEXT

assignment で変数に初期値を代入します。

expression1 で変数の値を評価します。

expression2 は繰り返しのたびに変数に加算する式です。

program statement は、繰り返しのはじめで 変数の値が expression1 以下のとき実行されるマクロの命令です。

FOR 文では、最初に assignment に記述されている変数を assignment の値で初期化します。このとき、この変数を expression1 と比較し、expression1 以下なら FOR 文と NEXT 文の間のプログラム行を実行します。

NEXT 文から制御は FOR 文に戻り、変数に expression2 で記述されている値を加算します。

expression2 がないときは、１を加算します。

変数の新しい値を再度 expression1 と比較し、ループを繰り返します。

この繰り返しは変数の値が expression1 以下の間続き、expression1 より大きくなったとき、繰り返しは終了して制御は NEXT 文の次のステップに移ります。

次に FOR 文と NEXT 文の例を示します。

1  FUNCTION boldwords()

2  ' This macro asks the user how many words to bold, and then bolds them.

3  numwords = Query$ ("How many words to bold?")

4  FOR count = 1 TO numwords

5        TYPE ("[CtrlShiftRight]") ' shade word to right

6  NEXT

7  bold() ' bold it

8  TYPE ("[right][left]") 'unshade

9  END FUNCTION

マクロの３行目で太字にする単語の個数をユーザーに問い合わせ、FOR/NEXT ループの上限値を求めます。

４行目で変数 count に１を設定して FOR/NEXT ループの準備をします。

変数を加算する式 STEP は使っていないので count は１ずつ増えます。

５行目は FOR/NEXT ループの本体で右側の単語を１つずつ反転します。

６行目の NEXT 文から再び４行目に戻ります。

繰り返しを numwords の値だけ実行して、制御が７行目に移り、指定の単語を太字にした後、９行目でマクロは終了します。

FOR/NEXT ループの中から、GOTO 文でループの外にジャンプしてはいけません。

ループの途中で繰り返しを中止するときは、BREAK 文を使います。

GOTO 文で FOR/NEXT ループの外に出ると、あとの障害になりますので注意してください。


IF/THEN 文

IF/THEN 文は条件が TRUE のとき一連のステップを実行する場合に使います。

IF/THEN 文では、順次条件を評価し、それぞれの条件に対応する一連のステップを実行できます。

IF/THEN 文の構文は次のとおりです。

IF condition1 [THEN]

program step 1

[ELSEIF  condition2 [THEN]

program step 2]...

[ELSE

program step 3]

ENDIF

condition1 は式で、その評価が TRUE のとき、program step1 を実行します。

program step1 は、condition1 が TRUE のとき実行する一連のマクロ命令です。

condition2 も式で、その評価が TRUE のとき、program step2 を実行します。

program step2 は、condition2 が TRUE で、前の条件が FALSE のとき実行する一連のマクロ命令です。

program step3 は前の条件がどれも FALSE のとき実行する一連のマクロ命令です。

このように、IF 文があるとマクロは condition1 に記述された条件を評価し、TRUE なら program step1 を実行し、制御が ENDIF の次の行に移ります。

評価が FALSE なら、マクロは condition2 を評価し、TRUE なら program step2 を実行し、制御が ENDIF 文の次の行に移ります。

あとに続く ELSEIF 文があるときは、１つの ELSEIF 文の条件が TRUE になるまで評価されて、TRUE になったときその命令を実行し、そのいずれも FALSE で、最後に ELSE 文があると、ELSE 文の後の命令文を実行します。

次の例では、文書の中の連続する２つの改行文字の１つを削除し、段落の間の空白行を取り除きます。

連続した２つの改行文字が見つかったかどうかを IF 文で認識して処理します。

1  FUNCTION delcrs()

2 TYPE ("[ctrlhome]") ' go to top of file

loop:

3  TYPE ("[ctrldown]") ' to next RETURN symbol

4  c = CurChar$()

5  TYPE ("[RIGHT]")

6  IF (AtEOF()) ' at end of file?

7        EXIT FUNCTION 'end macro execution

8  ELSEIF (c = CurChar$()) ' look for two in a row

9        TYPE ("[DEL]")

10  ENDIF

11        GOTO loop

12  END FUNCTION

２行目でファイルの先頭に行きます。

３行目で最初の段落の最後の文字位置に移動します。

４行目で挿入点の文字を変数 c に代入します。

５行目で挿入点を１つ先に進めます。

６行目の IF 文はファイルの終わりかどうかを調べ、終わりならばマクロは７行目で終了します。

終わりでなければ８行目の ELSEIF 文で C の値と挿入点の文字を比較します。同じであれば (TRUE) 、９行目で挿入点の改行文字を削除します。

改行文字とファイルの終わり以外の文字を調べる必要がないので、この IF 文には ELSE 文がありません。

改行文字を削除するか、あるいはそれ以外の文字の場合は、ENDIF の次の GOTO 文で３行目のラベル LOOP にジャンプして処理を繰り返します。


SWITCH/ENDSWITCH
SWITCH 文と CASE 文

SWITCH 文と CASE 文は対で機能し、変数の値によって実行する一連のプログラムステップを制御します。

IF/ELSEIF 文に似ていますが、IF 文では異なった変数で条件付けできる (IF a = 1 then ...ELSEIF b = 2 ...ELSEIF c = 3 ...) のに対し、SWITCH/CASE 文では、１つの変数で条件付けするところが、大きく違います。

SWITCH 文の構文は次のとおりです。

SWITCH variable

   CASE expression1

       statements1

   [CASE expression2

       statements2...]

   [DEFAULT

       statements3]

ENDSWITCH

variable は CASE 文の式と比較する変数の名前です。

expression1 は variable と比較する式です。

statements1 は variable が expression1 と同じとき実行する命令です。

expression2 は variable と比較する式です。

statements2 は variable が expression2 と同じとき実行する命令です。

statements3 は すべての CASE 文の式が variable と異なるとき実行する命令です。

switch 文では、variable の値を記憶し、最初の CASE 文の式と比較します。

等しいときは CASE 文と次にくる CASE文、DEFAULT 文、ENDSWITCH 文のいずれかの間にある命令を実行し、制御は ENDSWITCH の次の命令に移ります。

variable と CASE の式が等しくないときは、次の CASE 文を同じように評価します。

すべての CASE 文の式が variable と一致しないとき DEFAULT 文に行き当たり、DEFAULT 文と ENDSWITCH 文の間にある命令を実行します。

DEFAULT がないときは、何も実行せずに制御が ENDSWITCH の次の命令に移ります。

関連項目

SWITCH と CASE の例


SWITCH 文と CASE 文の例

次のマクロは文書中にある４つの単語の出現回数を数え、文書での使用率をレポートします。

1  FUNCTION wordfreq()

2  word1 = Query$ ("Type the first word:")

3  word2 = Query$ ("Type the second word:")

4  word3 = Query$ ("Type the third word:")

5  word4 = Query$ ("Type the fourth word:")

6  DraftMode()' put in DraftMode

7  TYPE ("[ctrlhome]") ' go to top of file

8  w1cnt = 0 ' initialize counters

9  w2cnt = 0

10  w3cnt = 0

11  w4cnt = 0

12  ocnt = 0

13  loop: 'loop point for each word

14  word = CurWord$()   ' get word contents

15  SWITCH word

16        CASE (word1) ' if a match

17              w1cnt = w1cnt + 1 ' bump word count

18        CASE (word2)

19              w2cnt = w2cnt + 1

20        CASE (word3)

21              w3cnt = w3cnt + 1

22        CASE (word4)

23              w4cnt = w4cnt +1

24        default

25              ocnt = ocnt +1 ' didn't match our words

26  ENDSWITCH

27  TYPE ("[ctrlright]") ' to next word

28  IF (0 = AtEOF()) ' at the end of the file yet ?

29        GOTO loop ' no; continue

30  ENDIF

31  totcount = w1cnt + w2cnt + w3cnt + w4cnt + ocnt

32  p1 = (w1cnt / totcount) * 100

33  p1 = FormatNum$ ("", "", 2, p1)

34  p2 = (w2cnt / totcount) * 100

35  p2 = FormatNum$ ("", "", 2, p2)

36  p3 = (w3cnt / totcount) * 100

37  p3 = FormatNum$ ("", "", 2, p3)

38  p4 = (w4cnt / totcount) * 100

39  p4 = FormatNum$ ("", "", 2, p4)

40  message ("There are {w1cnt} cases of {word1}, or {p1}%")

41  message ("There are {w2cnt} cases of {word2}, or {p2}%")

42  message ("There are {w3cnt} cases of {word3}, or {p3}%")

43  message ("There are {w4cnt} cases of {word4}, or {p4}%")

44  message ("Total words in document: {totcount}")

45  END FUNCTION

マクロの２～５行目では Query$ 関数を使ってユーザーに４つの単語を問い合わせて、変数 word1 から word4 に代入しています。

６行目ではマクロ処理を速くするためにマクロ関数 DraftMode を使い、アミプロのモードをドラフトモードに変更します。

８～12行目ではカウンタとして使う変数を定義して 0 に初期化します。これらの初期設定の後、14行目のマクロ関数 CurWord からループの本体が始まります。

CurWord は文書の挿入点の単語を読み込み、変数 word に代入します。

マクロの 15行目は SWITCH 文で、各 CASE 文が比較する変数の値を準備します。

16行目の CASE 文は最初の単語 word1 と word を比較します。

一致すれば最初の単語のカウンタに１を加え、制御は ENDSWITCH の次の 27行目に移ります。

一致しないときは、次の CASE 文に移り、２番目の単語と word を比較します。４番目まで同様に処理します。

24行目の default まで一致しなかったときは、その他の単語のカウンタに１を加えます。

26行目の ENDSWITCH 文は SWITCH 文の終わりを示します。

27行目では挿入点を次の単語に進め、28～30行目で 13行目に戻り、ファイル全体を調べるまで処理を繰り返します。

31行目では各単語のカウンタを合計して、文書中の単語の合計を求めています。

32～39行目では各単語の割合を計算し、マクロ関数 FormatNum$ を使ってパーセント形式に変換します。

最後に 40～44行目で単語の出現率を表示します。


WHILE 文

WHILE 文は条件が TRUE の間、一連の命令を繰り返し実行します。

WHILE 文はマクロの命令文を実行する前に、いくつかの条件が満足しているかどうかを調べるのに有効です。

WHILE 命令の構文は次のとおりです。

WHILE (condition)

      statements

WEND

condition は TRUE か FALSE かを評価する条件です。

statements はマクロプログラム命令です。

WHILE 文では、condition に記述されている条件を評価します。

条件が TRUE のとき、WHILE 文と WEND 文の間の命令を実行します。

FALSE のときは、制御は、WEND 文の次の命令に移ります。

WHILE 文と WEND 文の間の命令を実行した後、再び WHILE 文に戻ります。

条件を再評価し、TRUE の間 WEND までの命令を繰り返し実行します。

WHILE/WEND ループの間の命令は WHILE 文に記述された条件が最初から FALSE なら１度も実行されません。また、WHILE 文と WEND 文の間の命令が WHILE 文の条件に影響しない場合、無限ループになります。

WHILE 文を使って、文書中の単語を数えるマクロの例を示します。

1  FUNCTION wc()

2  DraftMode() ' ensure we are in DraftMode

3  TYPE ("[ctrlhome]") ' go to top of file

4  counter = 0 ' initialize counter

5  WHILE (NOT(AtEOF())) ' as long as not at end of file

6        counter = counter +1

7        TYPE ("[ctrlright]") ' ahead a word

8  WEND

9  message ("There are {counter} words in the file.")

10  END FUNCTION

２行目で、アミプロを処理の速いドラフトモードにして、３行目で挿入点をファイルの先頭に移し、４行目で単語のカウンタ変数を 0 に初期化します。

５行目の WHILE 文は挿入点がファイルの終わりでない間、次の命令を繰り返し実行することを示しています。

WHILE ループの中の６行目と７行目はカウンタに１を加えて、次の単語に移ります。

８行目の WEND 文は WHILE 文に分岐してループを繰り返すことを示しています。

９行目で単語数を表示し、10行目はマクロの終わりです。


BREAK 文

FOR/NEXT ループで FOR 文で記述された繰り返しの回数より前にループの処理を終了したい場合、SWITCH/CASE の中で他の変数により特定の命令だけを処理したい場合、また、WHILE/WEND ループを中断したい場合は、BREAK 文を使います。

BREAK 文はループの外へ制御を移し、FOR/NEXT、SWITCH/CASE、WHILE/WEND の処理を中断します。

BREAK 文の構文は次のとおりです。

BREAK

関連項目

BREAK 文の例


BREAK 命令の例

次の例では、BREAK 文を FOR/NEXT ループと SWITCH/CASE の両方で使っています。

このマクロは FOR/NEXT 文の説明に使った boldwords マクロを拡張したもので、ユーザーが複数の属性を指定します。

FUNCTION attrwords()

' This macro asks the user attributes to use, and then applies the attributes to a set number 3  of words with the attributes.

boldon = 0 ' initialize variables

capson = 0

undon = 0

italicson = 0

flag = 0

loop: ' get no of attr, and set flags

attr = Query$ ("Type number of attribute:")

SWITCH attr

CASE "1"

boldon = 1

CASE "2"

IF (capson > 0) 'already picked one

message ("Already picked caps; ignored")

BREAK

ENDIF

capson = 2

CASE "3"

IF (capson > 0) 'already picked one

message ("Already picked caps; ignored")

BREAK

ENDIF

capson = 3

CASE "4"

IF (capson > 0) 'already picked one

message ("Already picked caps; ignored")

BREAK

ENDIF

capson = 4

CASE "5"

IF (capson > 0) 'already picked one

message ("Already picked caps; ignored")

BREAK

ENDIF

capson = 5

CASE "6"

italicson = 1

CASE "7"

IF (undon > 0) 'already picked one

message ("Already picked underline; ignored")

BREAK

ENDIF

undon = 7

CASE "8"

IF (undon > 0) 'already picked one

message ("Already picked underline; ignored")

BREAK

ENDIF

undon = 8

CASE "9"

IF (undon > 0) 'already picked one

message ("Already picked underline; ignored")

BREAK

ENDIF

undon = 9

CASE "0"

flag = 1

default ' incorrect choice; display help

message ("Bold = 1, All Caps = 2, Small Caps = 3,Initial Caps = 4, Lowercase = 5")

message ("Italics = 6, Underline = 7, Word Underline = 8, Double Underline = 9")

message ("Type 0 to apply attributes")

ENDSWITCH

IF (flag = 0) ' may want another pick

GOTO loop

ENDIF

numword =Query$ ("How many words?")

FOR count = 1 TO numword ' shade desired words

IF (AtEOF())

BREAK ' stop at end of file

ENDIF

TYPE ("[ctrlshiftright]") ' shade word to right

NEXT

IF (boldon) 'apply attrs

bold() ' bold it

ENDIF

IF (capson)

call caps (capson)

ENDIF

IF (italicson)

italic()

ENDIF

IF (undon = 7)

Underline()

ENDIF

IF (undon = 8)

WordUnderline()

ENDIF

IF (undon = 9)

SpecialEffects (DoubleUnderline,"")

ENDIF

TYPE ("[right][left]") 'unshade

END FUNCTION

FUNCTION Caps(capson)

Switch capson

case 2

Uppercase()

case 5

Lowercase()

case 4

InitialCaps()

case 3

SmallCaps()

default

ENDSWITCH

END FUNCTION

説明

４～７行目で変数を初期化します。

10行目でユーザーに使用する属性の番号を問い合わせます。この番号を SWITCH/CASE 文で評価し、要求された属性のフラグをセットします。

17行目では、大文字使用の属性がすでに指定されていると 無意味なので、BREAK を使って処理を中止し、大文字使用の属性を指定されていなければ、18行目で大文字使用のフラグをセットします。

下線属性についても同様に、BREAK 文を使っています。

59行目の DEFAULT ではユーザーの無効な選択に対してヘルプメッセージを表示します。

64行目ではユーザーが入力した番号が 0 かどうかを調べ、属性指定を続けるときは、他の属性を問い合わせるために GOTO 文で８行目に戻ります。

ユーザーが属性の指定を終了したときは次に移り、67行目で属性を設定する単語の数を問い合わせます。

68～72行目では FOR/NEXT ループで指定された数の単語を影付きにします。

70行目にファイルの終わりにきたとき FOR/NEXT ループを終了するための BREAK 文があります。

74～91行目で選択された属性を設定し、92行目で単語を影付きから通常に戻します。


ダイアログボックスの作成

ダイアログエディタの <ファイル(F) 新規作成(N)> を選んでダイアログボックスを作成します。

ダイアログボックスの名前、タイトル、型など、ダイアログボックスに必要な情報を入力します。

カーソルが十字に変わるので、ボックスを置く位置の左上隅にカーソルを移動します。

マウスボタンをクリックするとダイアログボックスが現われます。

ドラッグして画面の適当な場所にダイアログボックスを移動します。

ダイアログボックスには、ボックスだけ、タイトルバーがある、タイトルバーとコントロールメニューがある、３種のボックスがあります。

タイトルバーとコントロールメニューのあるダイアログボックスでは、マウスがない場合も、コントロールボックスがなくて、ダイアログボックスがキーボードで移動できないところにあってもボックスを移動できます。


定義済みのコントロールを使う

アミプロダイアログエディタは定義済みのコントロールでダイアログボックスを作成します。

以下のコントロールがあります。

コマンドボタン

既定値コマンドボタン

オプションボタン

チェックボックス

テキストボックス

リストボックス

文字列

コンボボックス

グループボックス

コントロールを追加する

1) コントロールメニューで、追加するコントロールを選択します。ポインタが十字に変わります。

2)追加するコントロールの左上隅に十字を置きます。

3)マウスをクリックします。

4)ハンドルを引っぱってコントロールのサイズを変えたり移動したりします。

コントロールの属性を使う

コントロールには、それぞれいくつかの属性があります。

コントロールの属性を編集したり見たりするには、<編集(E) スタイル(S)> を選択するか直接コントロールをダブルクリックします。

ダイアログボックス自体の属性を見るには、ダイアログボックスのコントロールのないクライエントエリアをダブルクリックします。

属性には、ID 番号、コントロールの型、付属するテキストなどが含まれます。また、特別の属性を持つコントロールもあります。

コマンドボタン と 既定値コマンドボタンを使う

ダイアログボックスを終了して、マクロに直接戻り値を返し、ダイアログボックスをクローズするにはコマンドボタンを使います。

ダイアログボックスを呼び出すときは、戻り値は DialogBox 関数と同じになります。

box = DialogBox("", "SAMPLE1.DLG")

IF box <> 1 then

EXIT FUNCTION

ENDIF

この例では変数 box をダイアログボックスに割り当てます。

ユーザーがコマンドボタンを選ぶと、コマンドボタンの ID が 変数 box に設定されます。

この規則には２つの例外があります。１つは 取消のコマンドボタンは通常、２番目に置かれて「２」の ID を持ちます。しかし、このコマンドボタンを選ぶとマクロに返す値は「２」ではなく「０」です。

もう１つは 20 以上の ID を持つコマンドボタンはダイアログボックスをクローズしないことです。CallBacks を使うときは、20 以上の ID を持つコマンドボタンを使います。

既定値のコマンドボタンは ID に「1」を持ち、常に「了解」にして、「取消」のコマンドボタンは ID を「2」にします。

これを簡単に設定するために既定値コマンドボタンを最初に置き、次に「取消」のコマンドボタンを置きます。

ダイアログエディタは置かれたコントロールに自動的に番号を付けます。

コマンドボタンはテキストの代わりにビットマップも使えます。

ビットマップを指定するには、コマンドボタンをダブルクリックし、Button Text field でビットマップのファイル名を入力し、ボタンの型にビットマップを選択します。

ダイアログボックスの中で、ビットマップの大きさを変えられます。

オプションボタンを使う

オプションの選択には、オプションボタンを使います。オプションボタンは相互に排他的です。

手動で切り換えるカーラジオのボタンを考えてみましょう。新しいボタンを選択すると前に選択していたボタンは無効になります。指定は、１つのボタンだけが有効です。

オプションボタンはGetDialogField$ とGetDlgItemText 関数により TRUE または FALSE の値を返し、現在、有効なボタンだけが TRUE を返します。

オプションボタンの戻り値によりマクロのステップを分岐するには、一連の IF-THEN-ELSE あるいは SWITCH-CASE を使います。そこではオプションボタンの変数が TRUE かどうかを評価します。

オプションボタンは使っていない ID 番号を用い、通常は、20～99 の範囲になります。

チェックボックスを使う

チェックボックスはオプションボタンと大変似ていますが、相互に排他的ではありません。排他的でないオプションの選択にはチェックボックスを使います。

チェックボックスは論理値 (TRUE または FALSE) を返します。戻り値はチェックボックスを調べる GetDialogField$ あるいは GetDlgItemText 関数に割り当てた変数に設定します。

テキストボックスを使う

テキストボックスはユーザーが文字列データを入力するためのものです。

ダイアログエディタでは、テキストボックスは アミプロの「枠」のようなボックスとして描かれ、サイズを変えたり移動したりできます。

テキストボックスはオプションボタンやチェックボックスと違って付属する文字列を持ちません。

従って、ユーザーが入力するデータの種類がわかるように、文字列をテキストボックスの近くに置きます。ボックスを導くために文字列の後にコロン(:）を置きます。

テキストボックスは、ID 番号でFillEdit コマンドを使うか、あるいは callback マクロでSetDlgItemText 関数を使って既定値を設定することができます。

テキストボックスは 8000 ～ 8999 の ID 番号を持ち、関連付けられたリストボックス (テキストボックスよりちょうど 1000 大きい ID を持つリストボックス) から選択したデータが入ります。テキストボックスはマクロに GetDialogField$ あるいは GetDlgItemText 関数に割り当てた変数に文字列を返します。

リストボックスを使う

データを一覧表示して選択するには、リストボックスを使います。

リストボックスは一連のFillList 文、FillEdit 文、あるいは FillEdit 文による配列のアドレスで満たします。

リストボックスは項目を選択するために特別なテキストボックスと共に使うこともできます。特別なテキストボックスはリストボックスで選択されたデータを受け取ります。

リストボックスは 9000～9499 の ID 番号を持ちます。9001 の ID 番号を持つリストボックスにはカレントディレクトリの一覧が入っています。

そこで 8001 のテキストボックスと 9001 のリストボックスを使うと、ユーザーは重要なファイルなどを選択できます。

リストボックスは通常、値を返しませんが GetDialogField$() と GetDlgItemText 文は、複数選択でないリストボックスで最後に選択された項目を引き出すために使うことができます。

文字列を使う

文字列はテキストボックスやリストボックスの名称などの情報を提供します。また、マクロに特有の命令や情報をユーザーに提供するためにも文字列を使います。

文字列は 1000～7999 の ID 番号を持ちます。

7999 の ID 番号を持つ文字列にはカレントパスが入っています。これはリストボックスからファイル名を選択するときカレントディレクトリのパスを用意するのに有効です。文字列は値を返しません。

文字列の特徴は、ID に 8000番台を設定すると、この文字列にはマクロからの文字列情報が入ります。

したがってコンパイルし直すことなしに急いで FillEdit あるいは SetDlgItemText 関数を使って、ダイアログボックスをカスタマイズできます。

標準の Windows の「.BMP」ファイルは文字列に置きます。

<編集(E) スタイル(S)> あるいは文字列項目をダブルクリックして、テキストボックスにビットマップのファイル名を入力したあと、ビットマップの形式を選びます。ボックスが表示されるときビットマップも表示されます。

コンボボックスを使う

コンボボックスは リストボックスとテキストボックスを組み合わせたものです。

ユーザーがリストから文字列データを選択するときに使います。コンボボックスには Simple、Drop Down、Drop Down List の３つの形式があります。

テキストボックスの右の部分に下向き矢印があります。

ユーザーが矢印をクリックすると、テキストボックスの下にリストボックスが表示されます。

ユーザーがリストボックスの項目を選択するとすぐにテキストボックスに複写され、リストボックスは再びテキストボックスの影に隠れます。

コンボボックスにはリストボックス内でデータを並べ変えたり水平スクロールバーを加えるなどのオプションがあります。

コンボボックスは ID 番号を一連の FillEdit あるいは SetDlgItemText (配列のアドレスを持つ１つの FillEdit) 関数に送ることによって満たされます。

コンボボックスがデータをソートするための既定値ではない場合、最初のデータが既定値として配置され、それに続くすべての項目はコンボボックスの一部として適当な順序でリストボックスに表示されます。

コンボボックスは 9500～9999 の ID 番号を持ち、マクロで GetDialogField$ あるいは GetDlgItemText 関数に割り当てた変数に文字列を返します。

グループボックスを使う

グループボックスはダイアログボックスの１つのセクションを他の部分と分けるために、文字列のように使います。

これはユーザーにとってダイアログボックスをわかりやすくします。

グループボックスには付属する文字列と囲み線があり、文字列や囲み線のサイズは変更できます。

グループボックスはグループ化するコントロールが入るように位置や大きさを設定します。

グループボックスはテキストボックスとリストボックスの ID 番号を除いた番号を持ちますが、通常は 20～99 が設定され、マクロに値は返しません。


コントロールのグループ指定とタブの使用

<編集(E) 並べ替え(O)> により、コントロールを並び替えます。ダイアログボックスには、コントロールが置かれた順番で一覧表示されます。記号やタブマークも表示されます。

並び替えるコントロールをクリックし、配置する場所にドラッグします。順序付けはオプションのタブ位置をセットし始めるとき重要です。

１度コントロールが並べられたらグループの最初のコントロールをクリックし、それから Add Group をクリックします。それらの下にあるすべての項目は、グループの先頭に他の項目を作るまでそのグループに含まれます。アスタリスク (*) がグループの先頭項目の左に付きます。

マクロからダイアログボックスがアクセスされるときは、現在アクティブになっているコントロールのまわりが点線になります。アクティブにするコントロールを選択するには、スペースバーを押します。この点線はセレクタと呼びます。

２つのことをするコントロールのグループ：グループにあるコントロールは矢印キーを使ってアクセスでき (セレクタがそのグループにある間) 、オプションボタンのように相互に排他的な項目はどのオプションボタンが相互に排他的で、どのオプションボタンがそうでないかを分けるために、このグループ指定の情報を使います。

１つのグループ内では、マウスがないとき、矢印キーでグループから項目を選択し、スペースバーでそれらをアクティブにすることができます。異なったグループにセレクタを移動するには [TAB] を押します。

タブの位置をセットするためにコントロールをクリックして (いつもグループの最初のコントロール)  Add Tab をクリックします。「>」記号がコントロールのすぐ左に表示され、そのコントロールがタブ位置としてセットされたことを示します。

少なくとも各グループ内のコントロール１つがタブの終わりになるので、キーボードでダイアログボックスの中を移動できます。


その他の機能を使う

<編集(E) 並べ替え(O)> 項目メニューの選択に加えて アミプロダイアログエディタにはカスタムダイアログボックスのデザインを支援する３つの機能がオプションメニューにあります。

ステータスボックス、格子、既定値サイズの３つのオプションです。

ステータスボックスオプションは現在選択されているコントロールの情報を小さなウィンドウに表示します。

このウィンドウは作業のじゃまにならないようにスクリーンのどこへでも移動できます。

このウィンドウを消すにはステータスボックスのコントロールボックスをダブルクリックするか <オプション(O) ステータスボックス(S)> (ステータスボックスにチェックがある）をもう一度選びます。

このメニュー項目はトグルのように動きます。

格子はコントロールの整理をわかりやくすために使います。

格子をオンにして一定のサイズを設定すると、すべてのコントロールはダイアログエディタでそれらを置いたり動かしたりするとき格子の単位で移動します。

コントロールは格子が最後に変更された場所にあります (もちろん格子を変更したあとでコントロールを動かしていなければ)。

アミプロダイアログエディタでは、コントロールのためにそれぞれの既定値サイズが設定してあり、ダイアログエディタは変更されるまでこの既定値サイズを記憶しています。


ダイアログボックスの構造を理解する

ID番号	戻り値

既定値コマンドボタン	ID   1	1

取消コマンドボタン	ID   2	0

コマンドボタン	ID   3 ～ 19	ID、ダイアログボックスをクローズする

コマンドボタン	ID  20 ～ 99	ID、CallBacksで使う

オプションボタン	ID  20 ～ 99	論理値

チェックボックス	ID  20 ～ 99	論理値

テキストボックス	ID8000 ～ 8999	文字列

リストボックス	ID9000 ～ 9499	文字列

特殊なリストボックス	ID9001	文字列

文字列	ID1000 ～ 7999	なし

特殊な文字列	ID7999	なし

コンボボックス	ID9500 ～ 9999	文字列

グループボックス	ID  20 ～ 99	なし


ダイアログボックスの形式を理解する

ダイアログボックスは一定の形式でテキストファイルとして保存するか、あるいは、マクロファイルの中に含みます。

複数のダイアログボックスがファイルあるいはマクロにあっても構いません。

AMIDLGED で作成するダイアログボックスの形式は次のとおりです。

最初の行には「DIALOG｣ という言葉とダイアログボックスの名前があります。

次の行はダイアログボックス自体の記述です。

この行は６つの数字と３つの文字列で最初の数字はタイプ (基本、タイトルバー、コントロールメニューを持つタイトルバー) のようなダイアログボックスに設定したオプションを表します。

２番目の数字はダイアログボックスにあるコントロールの数を示す整数です。

３番目の数字はボックスの左上隅の水平方向の開始位置です (x)。

４番目の数字はボックスの垂直方向の開始位置です (y)。

５番目と６番目の数字は水平方向 (cx) と垂直方向 (cy) の幅です。

この行にある始めの２つの文字列は空で、最後の項目はダイアログボックスのタイトルで、引用符 ("  ") で括ります。

次の行はダイアログボックスで使うフォントを記述します。

アミプロのダイアログボックスに合う好ましいフォントは System の 12ポイントで次のように見えます。

FONT 12 "System"

残りの行はダイアログボックスにあるコントロールを記述します。

各々の行は次の情報が順に並んでいます。

コントロールの水平開始位置 (x)、垂直開始位置 (y)、幅 (cx)、高さ (cy)、ID番号、オプションと属性、 ("  ") で括られた型、 ("  ") で括られた記述、最後に「0」です。

最後の行は「END DIALOG｣ だけです。

ダイアログボックスのテキストファイルの例

  DIALOG ExampleBox

  -2134376448 4 106 78 160 42 "" "" "Sample Dialog Box"

  FONT 12 "System"

  6 14 34 8 1000 1342308352 "static" "&Filename:"0

  46 14 56 12 8000 1350631552 "edit" ""0

  116 4 40 14 1 1342373889 "button" "OK"0

  116 22 40 14 2 1342373888 "button" "Cancel"0

  END DIALOG

ダイアログボックスの複写と貼り付け

次の操作で、マクロファイルにダイアログボックスを貼り込みます。

1) AMIDLGED でダイアログボックスの外側でマウスをクリックして、すべてのコントロールを未選択の状態にします。

2) <編集(E) 複写(C)> を選択します。

3) アミプロで挿入点を FUNCTION/END FUNCTION の外側に置きます。

4) <編集(E) 貼り付け(P)> を選択します。

ダイアログボックスをマクロファイルからダイアログエディタに戻すには、

1) AmiProで DIALOG から END DIALOG を含むすべての行を影付きにします。

2) <編集(E) 複写(C)> を選択します。

3) AMIDLGED で <編集(E) 貼り付け(P)> を選択します。

カレントのダイアログボックスを保存するかどうかに答えます。

4) ポインタは十字になりますので、ダイアログボックスを置く位置の左上端に十字を置いて、マウスをクリックします。


ダイアログボックスをアクセスする

次の例は、アミプロマクロの中から単純なダイアログボックスをアクセスする方法です。

  FUNCTION CallBox()

  FillEdit(8000,"FILENAME.EXE")

  SampleBox = DialogBox(".","ExampleBox")

  IF SampleBox = -1-`if we couldn't find the box file,

  -EXIT FUNCTION-`Exit the macro.

  ELSEIF SampleBox = 0-`Did the user cancel the box?

  -EXIT FUNCTION-`Yes,exit the function

  ENDIF

  Filename = GetDialogField$(8000)

  Message("The Filename is {Filename}")

  END FUNCTION

  DUALOG ExampleBox

  -2134376448 4 106 78 160 42 "" "" "Sample Dialog Box"

  FONT 12 "System"

  6 14 34 8 1000 1342308352 "static" "&Filename:"0

  46 14 56 12 8000 1350631552 "edit" ""0

  116 4 40 1 1342373889 "button" "OK"0

  116 22 40 14 2 1342373888 "button" "Cancel"0

  END DIALOG


Ami Pro の標準的な約束に従う
アミプロの標準的な約束に従う

ダイアログボックスは自由に作成することできますが、アミプロの標準的なダイアログボックスと外観や感じが同じように作るために、一定の基準が設定してあります。

この基準に従って作成すると、ダイアログボックスはマクロだけでなくプログラムのためにデザインして作成されたように見えるでしょう。

コントロールのサイズ

アミプロでは、次のサイズを基準にします。

コントロール 	高さ	幅

文字列 	 8	*

コンボボックス 	13	*

チェックボックス 	12 	*

オプションボタン 	12 	*

テキストボックス 	12 	*

コマンドボタン 	14 	40

グループボックス 	** 	**

リストボックス 	*** 	48

*   文字列が表示できるだけの幅

**  グループの項目を囲む大きさ

*** ダイアログボックスの中で、落ち着く適当な高さ

一般的なガイドライン

コマンドボタンはダイアログボックスの右上端に置き、「了解」のコマンドボタンを始めに、続いて「取消」のコマンドボタンを置きます。

追加するコマンドボタンは「取消」コマンドボタンの下に置き、垂直に並べます。

コマンドボタンは 2twips 間隔を空けます。

各々のボックスの前に余白を取ります。

テキストボックス、リストボックス、コンボボックスの前にコロン (:) の付いた文字列を置きます。

２つ以上のチェックボックスやオプションボタンはグループボックスで囲みます。

同じ列にチェックボックスやオプションボタンを置くことは避けましょう。

チェックボックスやオプションボタンも垂直に並べます。

ダイアログボックスではすべての文字列に システムフォント 12 を使います。

コマンドボタンとグループボックスでは、各単語の最初の文字を大文字にし、他のコントロールは最初の単語の最初の文字だけ大文字にします。

文字列、コマンドボタン、チェックボックス、オプションボタンの文字列中の文字の前に「&」を付けると、その文字に下線が付いて、ショートカットキーになります。

たとえばコマンドボタンのオプションにある文字 「O」はショートカットキーです。

カナショートカットキーをサポートしたい場合は、「&」の代わりに、英字の前には「\036」を、カナ文字の前には「\037」を付けます。

コマンドボタンをアクセスするには、[ALT]+[O] を押します。

このショートカットキーはダイアログエディタでコマンドボタンをダブルクリックしてオプション (&O) に名前を変更して作ります。

「了解」と「取消」のコマンドボタンのショートカットキーは作成できません。これら２つのコマンドボタンのショートカットキーには、それぞれ [リターン] と [ESC] が割り当てられています。


Microsoft は Microsoft Corporation の登録商標です。

MS-DOS、Windows、Windows/286、Windows/386 は Microsoft Corporation の商標です。

IBM と AT は International Business Machine Corporation の登録商標です。


About

説明

<Ami Pro> についてのダイアログボックスを表示します。

メニューで <ヘルプ(H) Ami Pro について(A)> を選ぶことと同じです。

構文

About()

戻り値

なし

例

FUNCTION Example()

About()'This brings up the About Ami Pro dialog box.

END FUNCTION

関連項目

Help, BasicsHelp, HowDoIHelp, KeyboardHelp, MacroHelp, UsingHelp


ActivateApp

説明

指定のアプリケーションを Windows 上でアクティブなアプリケーションにします。

Windows 3.0 以上のタスクリストでアプリケーションを選ぶことと同じです。このコマンドを使う前に、アプリケーションを開始していなければなりません。

制御は名前付きのアプリケーションに移りますが、マクロがこのステートメントの後でも続いているとき，Ami Pro は制御を取り戻します。

構文

ActivateApp(App)

App は目的のアプリケーション名で、タスクリストウィンドウかアプリケーションタイトルバーに現れているものです。

戻り値

1 (TRUE) 	アプリケーションがアクティブになったとき

0 (FALSE) 	制御がアプリケーションに移らなかったかまたはアプリケーション名が正しくなかったとき

例

FUNCTION Example()

StatusBarMsg("プログラム マネージャ アクティブ化 ...")'Notify the user what we are doing.

IF AppIsRunning("プログラム マネージャ")'Check to see if the app is running

ActivateApp("プログラム マネージャ")'Activate it if it is.

AppRestore("プログラム マネージャ")'Restore it to it's previous size

ELSE

Exec("PROGMAN.EXE", 1)'Run it if it is not (it will be the active app).

ENDIF

StatusBarMsg("")'Clear the status bar

END FUNCTION

関連項目

Exec, AppMove, AppSize, AppMinimize, AppMaximize, AppRestore, AppHide, AppGetAppNames, AppIsRunning, AppGetAppCount


AddBar

説明

プルダウンメニューを持つメニューバーを新規作成します。このメニューバーにプルダウンメニューを付加する前に呼び出します。

構文

AddBar()

戻り値

新しいメニューバーが作られたときには、正数

0 (FALSE) 	メニューバーが作られなかったとき

例

FUNCTION Example()

StatusBarMsg("メニューバー & メニュー項目登録中...")'Notify the user what we are doing

MacFile = GetRunningMacroFile$()'Get the name of this macro file.

BarID = AddBar()'Add a new menu bar.

IF BarID > 0'If it was added,

MacFile = GetRunningMacroFile$()

AddMenu(BarID, "ファイル(\036F\037ﾌ)")'Add a File menu to it.

AddMenu(BarID, "マクロ(\036M\037ﾏ)")'Add a Macros menu to it

AddMenuItem(BarID, "ファイル(\036F\037ﾌ)", "新規作成(\036N\037ｼ)", New,

"新しい文章を作成します")'Add an item to the file menu

AddMenuItem(BarID, "ファイル(\036F\037ﾌ)", "メニューバーの復元(\036B\037ﾌ)",

"{MacFile}!Back()", "Ami Proのメニューバーに復帰します")

'Add an item to the file menu.

AddMenuItem(BarID, "マクロ(\036M\037ﾏ)", "編集(\036E\037ﾍ)", MacroEdit,

"マクロファイルの内容または、ショートカットキーを編集します")'Add an item to the macros menu.

AddCascadeMenu(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)")

'Add a cascade menu to the macros menu

AddCascadeMenuItem(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)",

"簡易実行(\036U\037ｶ)", "新規ﾏｸﾛ.SMM", "簡易記録したマクロを実行します")

'Add an item to the cascade menu on macros.

AddCascadeMenuItem(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)",

"ﾏｸﾛ実行(\036M\037ﾏ)", MacroPlay,

"ファイルに登録されているマクロを実行します")

'Add an item to the cascade menu on macros.

AddMenuItem(BarID, "マクロ(\036M\037ﾏ)", "オプション(\036O\037ｵ)",

MacroOptions, "")

'Add an item to the macros menu.

ShowBar(BarID)'Show the newly created menu bar.

ENDIF

StatusBarMsg("")'Restore the status bar.

END FUNCTION

FUNCTION Back()

ShowBar(1)'Restore the original Ami Pro menu bar.

END FUNCTION

関連項目

AddMenu, AddMenuItem, AddMenuItemDDE, ChangeMenuAction, CheckMenuItem, DeleteMenu, DeleteMenuItem, GrayMenuItem, RenameMenuItem, Showbar, AddCascadeMenu, AddCascadeMenuItem, ChangeCascadeAction, InsertCascadeMenu, InsertCascadeMenuItem, InsertMenu, InsertMenuItem


AddCascadeMenu

説明

既存のプルダウンメニューの最後にカスケードメニューを付け加えます。

構文

AddCascadeMenu(BarID,Menu,Cascademenu)

BarID は AddBar 関数から返されるメニューバーの識別番号で、Ami Pro メニューバーでは１とします。

Menu は、カスケードメニューを付け加えるプルダウンメニューの名前です。 「&」を含めて、プルダウンメニューの名前と完全に一致しなければなりません。

CascadeMenu は、付け加えるカスケードメニューの名前です。下線付で表示してショートカットキーとする文字列の先頭に「&」を付けます。

戻り値

1 (TRUE) 	カスケードメニューが作られたとき

0 (FALSE) 	カスケードメニューが作られなかったとき

例

FUNCTION Example()

StatusBarMsg("メニューバー & メニュー項目登録中...")'Notify the user what we are doing

MacFile = GetRunningMacroFile$()'Get the name of this macro file.

BarID = AddBar()'Add a new menu bar.

IF BarID > 0'If it was added,

MacFile = GetRunningMacroFile$()

AddMenu(BarID, "ファイル(\036F\037ﾌ)")'Add a File menu to it.

AddMenu(BarID, "マクロ(\036M\037ﾏ)")'Add a Macros menu to it

AddMenuItem(BarID, "ファイル(\036F\037ﾌ)", "新規作成(\036N\037ｼ)", New,

"新しい文章を作成します")'Add an item to the file menu

AddMenuItem(BarID, "ファイル(\036F\037ﾌ)", "メニューバーの復元(\036B\037ﾌ)",

"{MacFile}!Back()", "Ami Proのメニューバーに復帰します")

'Add an item to the file menu.

AddMenuItem(BarID, "マクロ(\036M\037ﾏ)", "編集(\036E\037ﾍ)", MacroEdit,

"マクロファイルの内容または、ショートカットキーを編集します")'Add an item to the macros menu.

AddCascadeMenu(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)")

'Add a cascade menu to the macros menu

AddCascadeMenuItem(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)",

"簡易実行(\036U\037ｶ)", "新規ﾏｸﾛ.SMM", "簡易記録したマクロを実行します")

'Add an item to the cascade menu on macros.

AddCascadeMenuItem(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)",

"ﾏｸﾛ実行(\036M\037ﾏ)", MacroPlay,

"ファイルに登録されているマクロを実行します")

'Add an item to the cascade menu on macros.

AddMenuItem(BarID, "マクロ(\036M\037ﾏ)", "オプション(\036O\037ｵ)",

MacroOptions, "")

'Add an item to the macros menu.

ShowBar(BarID)'Show the newly created menu bar.

ENDIF

StatusBarMsg("")'Restore the status bar.

END FUNCTION

FUNCTION Back()

ShowBar(1)'Restore the original Ami Pro menu bar.

END FUNCTION

関連項目

AddMenu, AddMenuItem, AddMenuItemDDE, ChangeMenuAction, CheckMenuItem, DeleteMenu, DeleteMenuItem, GrayMenuItem, RenameMenuItem, Showbar, Addbar, AddCascadeMenuItem, ChangeCascadeAction, InsertCascadeMenu, InsertCascadeMenuItem, InsertMenu, InsertMenuItem


AddCascadeMenuItem

説明

カスケードメニューにメニュー項目を付け加えます。Help はオプションではありません。該当位置に少なくとも空文字列を入れておきます。

構文

AddCascadeMenuItem(BarID,Menu,Cascademenu,Item,MacroName[!Function[(param1[,param2...])]],Help))

BarID は AddBar 関数から返されるメニューバーの識別番号で、Ami Pro メニューバーでは１とします。

Menu は、カスケードメニューを付け加えるプルダウンメニューの名前で、「&」を含めてプルダウンメニューの名前と完全に一致しなければなりません。

CascadeMenu は、付け加えるカスケードメニューの名前です。下線を付けて表示しショートカットキーとする文字の前に「&」を付けます。

Item は、付け加えるメニュー項目の名前です。下線を付けて表示しショートカットキーとする文字の前に「&」を付けます。

MacroName は、このメニュー項目を選択した時に実行するマクロ名です。

この引数は、マクロのファイル名、そのファイルを呼出す関数、その関数に必要な引数を含みます。

パス名がなければ、既定の文書パスとマクロのパスを検査します。

Help は、メニュー項目がハイライトされているときに Ami Pro タイトルバーに現れる１行のヘルプ文字列です。

戻り値

1 (TRUE) 	メニューバーが作られたとき

0 (UserCancel/FALSE) 	メニューバーが作られなかったかまたはユーザーが関数を取り消したとき

例

FUNCTION Example()

StatusBarMsg("メニューバー & メニュー項目登録中...")'Notify the user what we are doing

MacFile = GetRunningMacroFile$()'Get the name of this macro file.

BarID = AddBar()'Add a new menu bar.

IF BarID > 0'If it was added,

MacFile = GetRunningMacroFile$()

AddMenu(BarID, "ファイル(\036F\037ﾌ)")'Add a File menu to it.

AddMenu(BarID, "マクロ(\036M\037ﾏ)")'Add a Macros menu to it

AddMenuItem(BarID, "ファイル(\036F\037ﾌ)", "新規作成(\036N\037ｼ)", New,

"新しい文章を作成します")'Add an item to the file menu

AddMenuItem(BarID, "ファイル(\036F\037ﾌ)", "メニューバーの復元(\036B\037ﾌ)",

"{MacFile}!Back()", "Ami Proのメニューバーに復帰します")

'Add an item to the file menu.

AddMenuItem(BarID, "マクロ(\036M\037ﾏ)", "編集(\036E\037ﾍ)", MacroEdit,

"マクロファイルの内容または、ショートカットキーを編集します")'Add an item to the macros menu.

AddCascadeMenu(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)")

'Add a cascade menu to the macros menu

AddCascadeMenuItem(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)",

"簡易実行(\036U\037ｶ)", "新規ﾏｸﾛ.SMM", "簡易記録したマクロを実行します")

'Add an item to the cascade menu on macros.

AddCascadeMenuItem(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)",

"ﾏｸﾛ実行(\036M\037ﾏ)", MacroPlay,

"ファイルに登録されているマクロを実行します")

'Add an item to the cascade menu on macros.

AddMenuItem(BarID, "マクロ(\036M\037ﾏ)", "オプション(\036O\037ｵ)",

MacroOptions, "")

'Add an item to the macros menu.

ShowBar(BarID)'Show the newly created menu bar.

ENDIF

StatusBarMsg("")'Restore the status bar.

END FUNCTION

FUNCTION Back()

ShowBar(1)'Restore the original Ami Pro menu bar.

END FUNCTION

関連項目

AddMenu, AddMenuItem, AddMenuItemDDE, ChangeMenuAction, CheckMenuItem, DeleteMenu, DeleteMenuItem, GrayMenuItem, RenameMenuItem, Showbar, Addbar, AddCascadeMenu, ChangeCascadeAction, InsertCascadeMenu, InsertCascadeMenuItem, InsertMenu, InsertMenuItem


AddFrame

説明

枠を自動的に作ります。枠の大きさはページの左上を 0,0 として、twips（1 inch = 1440 twips） 単位で入れます。

メニューで <枠(R) 新規枠作成(C)> を選ぶことと同じです。

この関数は、 レイアウトモードでのみ使えます。

構文

AddFrame(X1,Y1,X2,Y2)

X1 は、枠の左上の水平位置。

Y1 は、枠の左上の垂直位置。

X2 は、枠の右下の水平位置。

Y2 は、枠の右下の垂直位置。

X は、どちらも０か正数。Y は、どちらも０か負数。

枠追加ダイアログボックスを表示して、ユーザーが引数を指定する場合は AddFrameDLG を使います。

戻り値

1 (TRUE) 	枠が作られたとき

-2 (GeneralFailure) 	枠が作られなかったとき

例

FUNCTION Example()

unit=1440 * 0.3937'Twips / cm

Mode = GetMode()'What mode is the screen in?

IF Mode != 1

LayoutMode()'If not Layout Mode, make it so.

ENDIF

IF Decide("現在のカーソル位置に”枠”を作成してもいいですか？")

'Give user Yes or No Dialog Box

Position = CursorPosition$()'Get current cursor prosition, in twips

X = strfield$(Position, 1, ",")'Parse out the X coordinate

Y = strfield$(Position, 2, ",")'Parse out the Y coordinate

X2 = X + (Query$("幅は何cmにしますか？") * unit)

'Compute Length of box

Y2 = Y + (Query$("高さは何cmにしますか", "1") * (unit * -1))

'Compute height of box

AddFrame(X, Y, X2, Y2)'Add the frame, using current defaults

ELSE

AddFrameDLG'Display Add Frame dialog box.

ENDIF

IF Mode = 48

type("[CtrlHome]")

OutlineMode()

ELSEIF Mode = 16

type("[CtrlHome]")

DraftMode()

ENDIF

END FUNCTION

関連項目

FrameLayout, CursorPosition$, GraphicsScaling, FrameModInit, AddFrameDLG, ImportPicture, FrameModLines, FrameModType, FrameModBorders, FrameModFinish, GroupFrames, IsFrameSelected, SelectFrameByName, SetFrameDefaults


AddFrameDLG

説明

新しく枠を追加するためのダイアログボックスを表示します。メニューで <枠(R) 新規枠作成(C)> を選ぶことと同じです。

この関数はレイアウトモードでのみ使えます。

構文

AddFrameDLG()

戻り値

1 (TRUE) 	枠が作られたとき

0 (UserCancel) 	関数を取り消したとき

例

FUNCTION Example()

unit=1440 * 0.3937'Twips / cm

Mode = GetMode()'What mode is the screen in?

IF Mode != 1

LayoutMode()'If not Layout Mode, make it so.

ENDIF

IF Decide("現在のカーソル位置に”枠”を作成してもいいですか？")

'Give user Yes or No Dialog Box

Position = CursorPosition$()'Get current cursor prosition, in twips

X = strfield$(Position, 1, ",")'Parse out the X coordinate

Y = strfield$(Position, 2, ",")'Parse out the Y coordinate

X2 = X + (Query$("幅は何cmにしますか？") * unit)

'Compute Length of box

Y2 = Y + (Query$("高さは何cmにしますか", "1") * (unit * -1))

'Compute height of box

AddFrame(X, Y, X2, Y2)'Add the frame, using current defaults

ELSE

AddFrameDLG'Display Add Frame dialog box.

ENDIF

IF Mode = 48

type("[CtrlHome]")

OutlineMode()

ELSEIF Mode = 16

type("[CtrlHome]")

DraftMode()

ENDIF

END FUNCTION

関連項目

FrameLayout, CursorPosition$, GraphicsScaling, FrameModInit, AddFrame, ImportPicture, FrameModLines, FrameModType, FrameModBorders, FrameModFinish, GroupFrames, IsFrameSelected, SelectFrameByName, SetFrameDefaults


AddMenu

説明

既存のメニューバーに新しいメニユーを作ります。新しいメニューは、メニューバー上の最後のメニューの右側にできます。

構文

AddMenu(BarID,Menu)

BarID は、AddBar 関数で返されるメニューバーの識別番号で、Ami Pro メニューバーでは１とします。

Menu は追加するプルダウンメニューの名前です。下線付きで表示してショートッカットキーとする文字の前に「&」を付けます。

戻り値

1 (TRUE) 	メニューが追加されたとき

0 (FALSE) 	メニューがメニューバーに追加されなかったかまたは、BarID が不正だったとき

例

FUNCTION Example()

StatusBarMsg("ﾒﾆｭｰﾊﾞｰ & ﾒﾆｭｰ項目登録中....")'Notify the user what we are doing

MacFile = GetRunningMacroFile$()'Get the name of this macro file.

BarID = AddBar()'Add a new menu bar.

IF BarID > 0'If it was added,

   MacFile = GetRunningMacroFile$()

   AddMenu(BarID, "ファイル(\036F\037ﾌ)")'Add a File menu to it.

   AddMenu(BarID, "マクロ(\036M\037ﾏ)")'Add a Macros menu to it

   AddMenuItem(BarID, "ファイル(\036F\037ﾌ)", "新規作成(\036N\037ｼ)", New,

      "新しい文章を作成します")'Add an item to the file menu

   AddMenuItem(BarID, "ファイル(\036F\037ﾌ)", "メニュバーの復元(\036B\037ﾌ)",

      "{MacFile}!Back()", "Ami Proのメニューバーに復帰します")

      'Add an item to the file menu.

   AddMenuItem(BarID, "マクロ(\036M\037ﾏ)", "編集(\036E\037ﾍ)", MacroEdit,

      "ﾏｸﾛﾌｧｲﾙの内容または、ｼｮｰﾄｶｯﾄｷｰを編集します")'Add an item to the macros menu.

   AddCascadeMenu(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)")

      'Add a cascade menu to the macros menu

   AddCascadeMenuItem(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)",

      "簡易実行(\036U\037ｶ)", "新規ﾏｸﾛ.SMM", "簡易記録したマクロを実行します")

      'Add an item to the cascade menu on macros.

   AddCascadeMenuItem(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)",

      "ﾏｸﾛ実行(\036M\037ﾏ)", MacroPlay,

      "ファイルに登録されているマクロを実行します")

      'Add an item to the cascade menu on macros.

   AddMenuItem(BarID, "マクロ(\036M\037ﾏ)", "ｵﾌﾟｼｮﾝ(\036O\037ｵ)",

      MacroOptions, "")

      'Add an item to the macros menu.

   ShowBar(BarID)'Show the newly created menu bar.

   ENDIF

StatusBarMsg("")'Restore the status bar.

END FUNCTION

FUNCTION Back()

   ShowBar(1)'Restore the original Ami Pro menu bar.

END FUNCTION

関連項目

AddBar, AddMenuItem, AddMenuItemDDE, ChangeMenuAction, CheckMenuItem, DeleteMenu, DeleteMenuItem, GrayMenuItem, RenameMenuItem, ShowBar, AddCascadeMenu, AddCascadeMenuItem, ChangeCascadeAction, InsertCascadeMenu, InsertCascadeMenuItem, InsertMenu, InsertMenuItem


AddMenuItem

説明

既存のプルダウンメニューの最後に新しい項目を付け加えるか、または直接メニューバーに項目を追加します。

構文

AddMenuItem(BarID,Menu,Item,MacroName[!Function[(param1[,param2...])]],Help)

BarID は AddBar 関数から返されるメニューバーの識別番号で、Ami Pro メニューバーでは１とします。

Menu は、この項目が追加されるプルダウンメニューの名前です。「&」を含めて、プルダウンメニューの名前と完全に一致しなければなりません。

Item は、付け加えるメニュー項目の名前です。下線付きで表示してショートカットキーとする文字の前に「&」を付けます。

MacroName は、このメニュー項目を選択したときに実行するマクロ名です。

MacroName には、マクロファイル名、マクロファイルの中での呼び出す関数名、その関数に必要な引数を含めることができます。少なくとも、マクロファイル名だけは必要です。

パス名が付いていなければ、既定の文書パスとマクロパスを検索します。Ami Pro 関数を実行するときには、名前に引用符（””  "）やカッコを付けません。

Help は、オプショナルオンラインヘルプの文字列で、このメニュー項目がハイライトされるときに Ami Pro タイトルバーに表示されます。

メニューバーに項目を追加するときには、AddMenuItem を使います。

戻り値

1 (TRUE) 	新しいメニュー項目が追加されたとき

0 (FALSE) 	メニュー項目が追加されなかったかまたは、BarID か MenuName が不正だったとき

例

FUNCTION Example()

StatusBarMsg("ﾒﾆｭｰﾊﾞｰ & ﾒﾆｭｰ項目登録中....")'Notify the user what we are doing

MacFile = GetRunningMacroFile$()'Get the name of this macro file.

BarID = AddBar()'Add a new menu bar.

IF BarID > 0'If it was added,

   MacFile = GetRunningMacroFile$()

   AddMenu(BarID, "ファイル(\036F\037ﾌ)")'Add a File menu to it.

   AddMenu(BarID, "マクロ(\036M\037ﾏ)")'Add a Macros menu to it

   AddMenuItem(BarID, "ファイル(\036F\037ﾌ)", "新規作成(\036N\037ｼ)", New,

      "新しい文章を作成します")'Add an item to the file menu

   AddMenuItem(BarID, "ファイル(\036F\037ﾌ)", "メニュバーの復元(\036B\037ﾌ)",

      "{MacFile}!Back()", "Ami Proのメニューバーに復帰します")

      'Add an item to the file menu.

   AddMenuItem(BarID, "マクロ(\036M\037ﾏ)", "編集(\036E\037ﾍ)", MacroEdit,

      "ﾏｸﾛﾌｧｲﾙの内容または、ｼｮｰﾄｶｯﾄｷｰを編集します")'Add an item to the macros menu.

   AddCascadeMenu(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)")

      'Add a cascade menu to the macros menu

   AddCascadeMenuItem(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)",

      "簡易実行(\036U\037ｶ)", "新規ﾏｸﾛ.SMM", "簡易記録したマクロを実行します")

      'Add an item to the cascade menu on macros.

   AddCascadeMenuItem(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)",

      "ﾏｸﾛ実行(\036M\037ﾏ)", MacroPlay,

      "ファイルに登録されているマクロを実行します")

      'Add an item to the cascade menu on macros.

   AddMenuItem(BarID, "マクロ(\036M\037ﾏ)", "ｵﾌﾟｼｮﾝ(\036O\037ｵ)",

      MacroOptions, "")

      'Add an item to the macros menu.

   ShowBar(BarID)'Show the newly created menu bar.

   ENDIF

StatusBarMsg("")'Restore the status bar.

END FUNCTION

FUNCTION Back()

   ShowBar(1)'Restore the original Ami Pro menu bar.

END FUNCTION

関連項目

AddBar, AddMenu, AddMenuItemDDE, ChangeMenuAction, CheckMenuItem, DeleteMenu, DeleteMenuItem, GrayMenuItem, RenameMenuItem, ShowBar, AddCascadeMenuItem, AddCascadeMenu, ChangeCascadeAction, InsertCascadeMenu, InsertCascadeMenuItem, InsertMenu, InsertMenuItem


AddMenuItemDDE

説明

プルダウンメニューに新しいメニュー項目を作ります。

ユーザーがこのメニュー項目を選ぶと、外部プログラムが認識されます。

外部プログラムは、"AmiProRemoteControl" DDE チャネルを介して会話を始め、Advise for Menus を要求していなければなりません。

このメニュー項目を選ぶと、AdviseID はデータを CF_text フォーマットでアプリケーションに送ります。

構文

AddMenuItemDDE(BarID,Menu,Item,AdviseID[,Help])

BarID は AddBar 関数から返されるメニューバーの識別番号で、Ami Pro メニューバーの場合は１とします。

Menu は、このカスケードメニューが追加されるプルダウンメニューの名前です。「&」を含めて、プルダウンメニューの名前と完全に一致しなければなりません。

Item は、付け加えるメニュー項目の名前です。下線付きで表示してショートカットキーとする文字の前に「&」を付けます。

AdviseID は整数で、このメニュー項目が選択された時に外部 DDE アプリケーションに送られます。

Help は、オプショナルオンラインヘルプの文字列で、このメニュー項目がハイライトされるときに Ami Pro タイトルバーに表示されます。

メニューバーの項目のときには、AddMenuItem とします。

戻り値

1 (TRUE) 	新しいメニュー項目が追加されたとき

0 (FALSE) 	メニュー項目が追加されなかったかまたは、BarID か MenuName が不正だったとき

例

FUNCTION Example()

DeleteMenu(1, "&DDE")'Remove the menu if it already exists.

AddMenu(1, "&DDE")'Add the menu "DDE" to the Ami Pro menu bar

AddMenuItemDDE(1, "&DDE", "&戻り値 of 555", 555, "This will send 555 to the app")

'Add the DDE menu item to that menu

AddMenuItemDDE(1, "&DDE", "&戻り値 of 123", 123, "This will send 123 to the app")

'Add the DDE menu item to that menu

END FUNCTION

関連項目

Addbar, AddMenu, AddMenuItem, ChangeMenuAction, CheckMenuItem, DeleteMenu, DeleteMenuItem, DDEAdvise, DDEPoke, DDEExecute, DDEInitiate, DDEReceive$, DDETerminate, DDEUnAdvise, GrayMenuItem, RenameMenuItem, Showbar, AddCascadeMenu, AddCascadeMenuItem, InsertMenu, InsertMenuItem, InsertCascadeMenu, InsertCascadeMenuItem, Exec


AllocGlobalVar

説明

単一要素または配列のグローバル変数を保持するためにメモリを割り当てます。

グローバル変数は、いったんマクロを終了すると失われる他の変数とは異なり、解放するか、または Ami Pro を終了するまで値を保存します。

構文

AllocGlobalVar(Name,Count)

Name は、割り当てられている変数名で、固有の番号または文字列です。

Count は、割り当てられる項目の数です。１回のカウントで単一要素のグローバル変数を割り当てます。２回以上のカウントでは、カウント要素付きで配列のグローバル変数を割り当てます。

戻り値

変数がうまく割り当てられた場合、Name で指定した固有の番号または文字列が戻ります。

例

FUNCTION Example()

AllocGlobalVar("Names", 5)'Allocate space for a 5 element global variable

AllocGlobalVar("Numbers", 5)'Allocate space for a 5 element global variable

AllocGlobalVar("YourName", 1)'Allocate space for a single element global variable.

FOR I = 1 to 5'Do the following 5 times.

SetGlobalArray("Names", I, Query$("Enter Name Number {I}"))

'Fill a global array with the return from QUERY

SetGlobalArray("Numbers", I, (100/I))'Fill a global array with a number

NEXT

NewName = Query$("What is your name?")'Query the user for his/her name

SetGlobalVar("YourName", NewName)'Set a global variable to that value

CALL Example2()'Call the following function

END FUNCTION

FUNCTION Example2()

Name = GetGlobalVar$("YourName")'Get the value of the global variable

Message("Your name is {Name}.")'Message that value in a box.

FOR I = 1 to 5'Do the following 5 times.

TheirName = GetGlobalArray$("Names", I)'Get the value of the current element from the array

TheirNumber = GetGlobalArray$("Numbers", I)'Get the value of the current element from the array

TYPE("Name #{I} is {TheirName}, and the number is {TheirNumber}.[Enter]")

'Type the values to the screen.

NEXT

FreeGlobalVar("Names")'Clear the space for the first global array

FreeGlobalVar("Numbers")'Clear the space for the second global array

FreeGlobalVar("YourName")'Clear the space for the global variable

END FUNCTION

関連項目

FreeGlobalVar, GetGlobalArray$, GetGlobalVar$, SetGlobalArray, SetGlobalVar, GetGlobalVarCount, GetGlobalVarNames, グローバル変数


AmiProIndirect

説明

引数の数が決められない場合に、Ami Pro の関数を呼ぶために使います。

構文

AmiProIndirect(Which,&Parameters,Count)

Which は、呼び出す関数です。

Parameters は、引数を含む配列です。

Count は、配列内の引数の数です。

戻り値

1 - (TRUE) 	関数が呼ばれた場合

0 - (FALSE) 	関数が呼ばれなかった場合

例

FUNCTION Example()

Cnt = GetLayoutParmCnt(ModLayoutRightPage)'Get number of parameters for ModLayoutRightPage

DIM Stuff(Cnt)'Dimension an array for that amount

GetLayoutParameters(ModLayoutRightPage, &Stuff)'Get the parameters and place in the array

length = Query$("New length of right/all headers?")'Query for new headers lengthh

width = Query$("New width of right/all headers?")'Query for new headers height.

Stuff(1) = length * 1440'Turn into twips

Stuff(2) = width * 1440'Turn into twips

ModLayoutInit(512)'Prep Ami Pro to accept Layout changes for all pages

AmiProIndirect(ModLayoutRightPage, &Stuff, Cnt)'Apply changes to specified function.

ModLayoutFinish()'Tell Ami Pro to accept the specified changes

END FUNCTION

関連項目

GetLayoutParmCnt, GetLayoutParameters, ModLayoutInit, ModLayoutRightPage, ModLayoutFinish


AnswerMsgBox

説明

ユーザーに返答を促している Ami Pro 関数に答を返します。多くの関数が、終了前にユーザーに何等かの返答を求めます。

Messages 関数は、マクロプログラマーにユーザーがメッセージに返答しなければならないか、既定値をとるかの決定をさせます。

AnswerMsgBox 関数は同じような働きをしますが、既定値よりもむしろプログラマーが決めた返答を採用します。

AnswerMsgBox 関数は、メッセージを表示する関数の直前に使われます。

Messages 関数とは違って、 AnswerMsgBox 関数は後に続くメッセージではなく次に呼出す Ami Pro 関数にだけ返事を返します。

通常は、与えられたマクロ内では、Messages と AnswerMsgBox 関数とを混在させません。

構文

AnswerMsgBox(Response)

Responce は、関数が表示したメッセージボックスへの要求された答で、次のいずれか１つです。

OK (1) - 了解を選ぶことと同じ

Cancel (2) - 取消を選ぶことと同じ

Abort (3) - 中止を選ぶことと同じ

Retry (4) - 再試行を選ぶことと同じ

Yes (5) - はいを選ぶことと同じ

No (7) - いいえを選ぶことと同じ

戻り値

なし

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()'Get the current name of this file.

AddMenuItem(1, "ﾌｧｲﾙ(\036F\037ﾌ)", "強制ｸﾛｰｽﾞ(&Q)", "{MacFile}!Example2()")

'Add the menu item to the File menu.

END FUNCTION

FUNCTION Example2()

AnswerMsgBox(YES)'Answer the next message box "NO"

FileClose()'Close the current file.

END FUNCTION

関連項目

IgnoreKeyboard, Messages, SingleStep, UserControl, Hourglass


AppClose

説明

Windows のアプリケーションをクローズします。

構文

AppClose(App)

App は、クローズするアプリケーションの名前です。

戻り値

1 - (TRUE) 	クローズされた場合

0 - (FALSE) 	クローズされなかった場合

例

Function Example()

'singlestep(1)

StatusBarMsg("現在実行中のアプリケーションを検索中です....")

Cnt = AppGetAppCount()

Dim Apps(Cnt)

AppGetAppNames(&Apps)

StatusBarMsg("")

For I = 1 to Cnt

CurrentApp = Apps(i)

if CurrentApp != "プログラム マネージャ" then

if decide("{CurrentApp} を終了させますか？")

AppClose(CurrentApp)

Endif

Endif

Next

End Function

関連項目

ActivateApp, AppGetAppCount, AppGetAppNames, AppGetWindowPos, AppHide, AppIsRunning, AppMaximize, AppMinimize, AppMove, AppRestore, AppSendMessage, AppSize


AppGetAppCount

説明

現在実行中の Windows アプリケーションの数を返します。通常は、AppGetAppCount 関数を呼び出す前に配列を作るために使います。

構文

AppGetAppCount()

戻り値

実行中のアプリケーションの数

例

Function Example()

'singlestep(1)

StatusBarMsg("現在実行中のアプリケーションを検索中です....")

Cnt = AppGetAppCount()

Dim Apps(Cnt)

AppGetAppNames(&Apps)

StatusBarMsg("")

For I = 1 to Cnt

CurrentApp = Apps(i)

if CurrentApp != "プログラム マネージャ" then

if decide("{CurrentApp} を終了させますか？")

AppClose(CurrentApp)

Endif

Endif

Next

End Function

関連項目

ActivateApp, AppClose, AppGetAppNames, AppGetWindowPos, AppHide, AppIsRunning, AppMaximize, AppMinimize, AppMove, AppRestore, AppSendMessage, AppSize


AppGetAppNames

説明

現在実行中の Windows アプリケーションの名前を取り出して配列にセットします。

構文

AppGetAppNames(&Namesarray)

Namesarray は、AppGetAppCount の戻り値で作られた配列の名前です。アドレス渡しで使用することに注意してください。Namesarray の配列内には、１回ですべてにセットされます。

戻り値

アプリケーションの数

例

Function Example()

'singlestep(1)

StatusBarMsg("現在実行中のアプリケーションを検索中です....")

Cnt = AppGetAppCount()

Dim Apps(Cnt)

AppGetAppNames(&Apps)

StatusBarMsg("")

For I = 1 to Cnt

CurrentApp = Apps(i)

if CurrentApp != "プログラム マネージャ" then

if decide("{CurrentApp} を終了させますか？")

AppClose(CurrentApp)

Endif

Endif

Next

End Function

関連項目

ActivateApp, AppClose, AppGetAppCount, AppGetWindowPos, AppHide, AppIsRunning, AppMaximize, AppMinimize, AppMove, AppRestore, AppSendMessage, AppSize


AppGetWindowPos

説明

Windows アプリケーションの位置と大きさの情報を返します。

アドレス渡しであることに注意してください。引数の X,Y,Width,Height はすべてアドレスで渡します。

戻り値はパーセンテージ単位の画面の大きさです。

構文

AppGetWindowPos(App,&X,&Y,&Width,&Hight)

App は、目的のアプリケーションの名前

X は、App の水平開始位置

Y は、App の垂直開始位置

Width は、App の幅

Hight は、App の高さ

戻り値

1 (TRUE) 	アプリケーションが有効なとき

0 (FALSE) 	アプリケーションが無効のとき

例

FUNCTION Example()

DEFSTR x, y, x2, y2;'Pre-define the variables to be used

AppGetWindowPos("プログラム マネージャ", &x, &y, &x2, &y2)

'Get Program Manager's current (restored) position

AppRestore("プログラム マネージャ")'Restore Program Manager

x = Query$("New X pos of upper-left corner (in twips)?", x)

'Get horizontal starting point

y = Query$("New Y pos of upper-left corner (in twips)?", y)

'Get vertical starting point

x2 = Query$("New width of window (in % of Screen Size)?", x2)

'Get window width

y2 = Query$("New height of window (in % of Screen Size)?", y2)

'Get window height

AppMove("プログラム マネージャ", x, y)'Move to the new position

AppSize("プログラム マネージャ", x2, y2)'Size the window accordingly

END FUNCTION

関連項目

ActivateApp, AppClose, AppGetAppCount, AppGetAppNames, AppHide, AppIsRunning, AppMaximize, AppMinimize, AppMove, AppRestore, AppSendMessage, AppSize


AppHide

説明

Windows アプリケーションを隠します。アプリケーションが隠れていると、キーボードやマウスからの入力ができません。ただし、DDE コマンドへの応答はします。

構文

AppHide(App)

App は、隠したいアプリケーションの名前です。

戻り値

0 以外の値 	アプリケーションが隠れたとき

0 (FALSE) 	アプリケーションが隠れなかったとき

例

FUNCTION Example()

Again:

AppName = Query$("どのアプリケーションのウィンドウを変更しますか？")'Find the app to modify

IF not AppIsRunning(AppName)'Check to see if it is running

Message("{AppName}は起動されていません")'Message if it is not

GoTo Again'and try again

ELSE

Again2:

Action = UCASE$(Query$("H ..非表示, X ..最大化, N ..最小化, R ..復元"))

'Find what to do to the app

SWITCH Action'Do a SWITCH on the var Action

CASE "H"'If user typed "hide"

AppHide(AppName)'then hide the app.

CASE "X"'If user typed "maximize"

AppMaximize(AppName)'then maximize the app

CASE "N"'If user typed "minimize"

AppMinimize(AppName)'then minimize the app

CASE "R"'If user typed "restore"

AppRestore(AppName)'then restore the app

default'If the user didn't type one of the above

Message("H , X , N , R のいずれかを指定してください")

GoTo Again2'tell them so and let them try again.

ENDSWITCH

ENDIF

END FUNCTION

関連項目

ActivateApp, AppClose, AppGetAppCount, AppGetAppNames, AppGetWindowPos, AppIsRunning, AppMaximize, AppMinimize, AppMove, AppRestore, AppSendMessage, AppSize


AppIsRunning

説明

Windows アプリケーションが現在実行中かどうかを返します。

構文

AppIsRunning(App)

App は、評価するアプリケーションの名前です。

戻り値

1 (TRUE) 	アプリケーションが実行中のとき

0 (FALSE) 	アプリケーションが実行中でないとき

例

FUNCTION Example()

Again:

AppName = Query$("どのアプリケーションのウィンドウを変更しますか？")'Find the app to modify

IF not AppIsRunning(AppName)'Check to see if it is running

Message("{AppName}は起動されていません")'Message if it is not

GoTo Again'and try again

ELSE

Again2:

Action = UCASE$(Query$("H ..非表示, X ..最大化, N ..最小化, R ..復元"))

'Find what to do to the app

SWITCH Action'Do a SWITCH on the var Action

CASE "H"'If user typed "hide"

AppHide(AppName)'then hide the app.

CASE "X"'If user typed "maximize"

AppMaximize(AppName)'then maximize the app

CASE "N"'If user typed "minimize"

AppMinimize(AppName)'then minimize the app

CASE "R"'If user typed "restore"

AppRestore(AppName)'then restore the app

default'If the user didn't type one of the above

Message("H , X , N , R のいずれかを指定してください")

GoTo Again2'tell them so and let them try again.

ENDSWITCH

ENDIF

END FUNCTION

関連項目

ActivateApp, AppClose, AppGetAppCount, AppGetAppNames, AppGetWindowPos, AppHide, AppMaximize, AppMinimize, AppMove, AppRestore, AppSendMessage, AppSize


AppMaximize

説明

Windows アプリケーションを最大化します。

構文

AppMaximize(App)

App は、最大化するアプリケーションの名前です。

戻り値

0 以外の値 	アプリケーションが最大化されたとき

0 (FALSE) 	アプリケーションが最大化されなかったとき

例

FUNCTION Example()

Again:

AppName = Query$("どのアプリケーションのウィンドウを変更しますか？")'Find the app to modify

IF not AppIsRunning(AppName)'Check to see if it is running

Message("{AppName}は起動されていません")'Message if it is not

GoTo Again'and try again

ELSE

Again2:

Action = UCASE$(Query$("H ..非表示, X ..最大化, N ..最小化, R ..復元"))

'Find what to do to the app

SWITCH Action'Do a SWITCH on the var Action

CASE "H"'If user typed "hide"

AppHide(AppName)'then hide the app.

CASE "X"'If user typed "maximize"

AppMaximize(AppName)'then maximize the app

CASE "N"'If user typed "minimize"

AppMinimize(AppName)'then minimize the app

CASE "R"'If user typed "restore"

AppRestore(AppName)'then restore the app

default'If the user didn't type one of the above

Message("H , X , N , R のいずれかを指定してください")

GoTo Again2'tell them so and let them try again.

ENDSWITCH

ENDIF

END FUNCTION

関連項目

ActivateApp, AppClose, AppGetAppCount, AppGetAppNames, AppGetWindowPos, AppHide, AppIsRunning, AppMinimize, AppMove, AppRestore, AppSendMessage, AppSize


AppMinimize

説明

Windows アプリケーションを最小化します。

構文

AppMinimize(App)

App は、最小化するアプリケーションの名前です。

戻り値

0 以外の値 	アプリケーションが最小化されたとき

0 (FALSE) 	アプリケーションが最小化されなかったとき

例

FUNCTION Example()

Again:

AppName = Query$("どのアプリケーションのウィンドウを変更しますか？")'Find the app to modify

IF not AppIsRunning(AppName)'Check to see if it is running

Message("{AppName}は起動されていません")'Message if it is not

GoTo Again'and try again

ELSE

Again2:

Action = UCASE$(Query$("H ..非表示, X ..最大化, N ..最小化, R ..復元"))

'Find what to do to the app

SWITCH Action'Do a SWITCH on the var Action

CASE "H"'If user typed "hide"

AppHide(AppName)'then hide the app.

CASE "X"'If user typed "maximize"

AppMaximize(AppName)'then maximize the app

CASE "N"'If user typed "minimize"

AppMinimize(AppName)'then minimize the app

CASE "R"'If user typed "restore"

AppRestore(AppName)'then restore the app

default'If the user didn't type one of the above

Message("H , X , N , R のいずれかを指定してください")

GoTo Again2'tell them so and let them try again.

ENDSWITCH

ENDIF

END FUNCTION

関連項目

ActivateApp, AppClose, AppGetAppCount, AppGetAppNames, AppGetWindowPos, AppHide, AppIsRunning, AppMaximize, AppMove, AppRestore, AppSendMessage, AppSize


AppMove

説明

Windows アプリケーションを移動します。ウィンドウの大きさは変えず、画面上の位置を変えるだけです。

構文

AppMove(App,X,Y)

App は、動かすアプリケーションの名前です。Ami Pro を動かす時は空文字列 ("") にします。

X は、画面上の水平位置でパーセント単位です。

Y は、画面上の垂直位置でパーセント単位です。

（画面上の左上が 0,0 です）

戻り値

1 (TRUE) 	App が移動されたとき

0 (FALSE) 	App が移動されなかったとき

例

FUNCTION Example()

DEFSTR x, y, x2, y2;'Pre-define the variables to be used

AppGetWindowPos("プログラム マネージャ", &x, &y, &x2, &y2)

'Get Program Manager's current (restored) position

AppRestore("プログラム マネージャ")'Restore Program Manager

x = Query$("New X pos of upper-left corner (in twips)?", x)

'Get horizontal starting point

y = Query$("New Y pos of upper-left corner (in twips)?", y)

'Get vertical starting point

x2 = Query$("New width of window (in % of Screen Size)?", x2)

'Get window width

y2 = Query$("New height of window (in % of Screen Size)?", y2)

'Get window height

AppMove("プログラム マネージャ", x, y)'Move to the new position

AppSize("プログラム マネージャ", x2, y2)'Size the window accordingly

END FUNCTION

関連項目

ActivateApp, AppClose, AppGetAppCount, AppGetAppNames, AppGetWindowPos, AppHide, AppIsRunning, AppMaximize, AppMinimize, AppRestore, AppSendMessage, AppSize


AppRestore

説明

Windows アプリケーションを最大化や最小化していない元の大きさに戻します。

構文

AppRestore(App)

App は、元に戻すアプリケーションの名前です。

戻り値

0 以外の値 	App が元に戻ったとき

0 (FALSE) 	App が元に戻らなかったとき

例

FUNCTION Example()

Again:

AppName = Query$("どのアプリケーションのウィンドウを変更しますか？")'Find the app to modify

IF not AppIsRunning(AppName)'Check to see if it is running

Message("{AppName}は起動されていません")'Message if it is not

GoTo Again'and try again

ELSE

Again2:

Action = UCASE$(Query$("H ..非表示, X ..最大化, N ..最小化, R ..復元"))

'Find what to do to the app

SWITCH Action'Do a SWITCH on the var Action

CASE "H"'If user typed "hide"

AppHide(AppName)'then hide the app.

CASE "X"'If user typed "maximize"

AppMaximize(AppName)'then maximize the app

CASE "N"'If user typed "minimize"

AppMinimize(AppName)'then minimize the app

CASE "R"'If user typed "restore"

AppRestore(AppName)'then restore the app

default'If the user didn't type one of the above

Message("H , X , N , R のいずれかを指定してください")

GoTo Again2'tell them so and let them try again.

ENDSWITCH

ENDIF

END FUNCTION

関連項目

ActivateApp, AppClose, AppGetAppCount, AppGetAppNames, AppGetWindowPos, AppHide, AppIsRunning, AppMaximize, AppMinimize, AppMove, AppSendMessage, AppSize


AppSendMessage

説明

Windows アプリケーションに Windows メッセージを送れるようにします。引数の Message,Wparam,Iparam をよく理解してください。

この関数は最初に目的のアプリケーションのデータ型である hWnd を見つける必要があります。つづいて指定された引数を付けて Windows から SendMessage 関数を呼びます。

構文

AppSendMessage(App,Message,Wparam,Lparam)

App は、メッセージを送るアプリケーションの名前です。ウィンドウへのハンドルとしても使われます。

Message は、アプリケーションに送る Windows メッセージ。

Wparam は、Windows メッセージの Wparam 引数。

Lparam は、Windows メッセージの Lparam 引数。

戻り値

Windows の関数 SendMessage からの戻り値

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

SetDlgCallBack(50, "{MacFile}!ClearBox")

FOR I = 1 to 10

FillEdit(9000, I)

NEXT

Box = DialogBox(".", "ExBox")

END FUNCTION

FUNCTION ClearBox(hdlg, id, text)

handle = GetDlgItem(hdlg, 9000)

AppSendMessage(handle, 0x0405, 0, 0)

Message("ﾘｽﾄﾎﾞｯｸｽの内容をｸﾘｱし､表示内容を再設定します")

FOR I = 1 to 10

SetDlgItemText(hdlg, 9000, I)

NEXT

END FUNCTION

DIALOG ExBox

-2134376448 4 169 46 106 76 "" "" "Example Dialog Box"

FONT 14 "System"

62 3 42 14 2 1342242817 "button" "DONE" 0

62 19 42 14 50 1342242816 "button" "Re-Fill Box" 0

4 12 52 61 9000 1352728579 "listbox" "" 0

5 2 51 9 1000 1342177280 "static" "Number:" 0

END DIALOG

関連項目

SetDlgCallback, ActivateApp, AppClose, AppGetAppCount, AppGetAppNames, AppGetWindowPos, AppHide, AppIsRunning, AppMaximize, AppMinimize, AppMove, AppRestore, AppSize


AppSize

説明

指定した Windows アプリケーションのサイズを変更します。

構文

AppSize(App,Width,Height)

App は、サイズを変えるアプリケーションの名前です。

Width は、App の新しい幅を画面のパーセンテージで指定します。

Height は、App の新しい高さを画面のパーセンテージで指定します。

戻り値

1 (TRUE) 	App の大きさが変わったとき

0 (FALSE) 	App の大きさが変わらなかったとき

例

FUNCTION Example()

DEFSTR x, y, x2, y2;'Pre-define the variables to be used

AppGetWindowPos("プログラム マネージャ", &x, &y, &x2, &y2)

'Get Program Manager's current (restored) position

AppRestore("プログラム マネージャ")'Restore Program Manager

x = Query$("New X pos of upper-left corner (in twips)?", x)

'Get horizontal starting point

y = Query$("New Y pos of upper-left corner (in twips)?", y)

'Get vertical starting point

x2 = Query$("New width of window (in % of Screen Size)?", x2)

'Get window width

y2 = Query$("New height of window (in % of Screen Size)?", y2)

'Get window height

AppMove("プログラム マネージャ", x, y)'Move to the new position

AppSize("プログラム マネージャ", x2, y2)'Size the window accordingly

END FUNCTION

関連項目

ActivateApp, AppClose, AppGetAppCount, AppGetAppNames, AppGetWindowPos, AppHide, AppIsRunning, AppMaximize, AppMinimize, AppMove, AppRestore, AppSize


ArrayDelete

説明

既存の配列から指定されたレコードを削除します。

配列を再編制しないで、ただレコードを削除するだけです。

構文

ArrayDelete(&Array,Index)

Array は、レコードを削除する配列の名前です。間接アドレスであることに注意してください。

Index は、削除レコードの配列内の位置。正しい位置でなければなりません。

戻り値

1 (TRUE) 	レコードが削除されたとき

0 (FALSE) 	レコードが削除されなかったとき

例

FUNCTION Example()

DIM Names(1)

WHILE (1)

ThisName = Query$("What is this person's Name (Enter to quit)?")

IF ThisName != ""

ArrayInsert(&Names, 1, ThisName)

ELSE

BREAK

ENDIF

WEND

Size = ArraySize(&Names)

Message("Number of records is {Size}.")

ArraySort(&Names)

Again:

Ndex = ArraySearch(&Names, Query$("What name to find?"))

IF Ndex != 0

IF Decide("Do you want to delete record {Ndex}?")

ArrayDelete(&Names, Ndex)

Size = Size - 1

ENDIF

ELSE

Message("Could not find record.")

GoTo again

ENDIF

FOR I = 1 to Size

ThisName = Names(I)

Message("Record Number {I} of {Size} is {ThisName}.")

NEXT

END FUNCTION

関連項目

DIM, ArrayInsert, ArrayInsertByKey, ArraySearch, ArraySize, ArraySort


ArrayInsert

説明

配列内の指定された位置に指定されたレコードを挿入します。既存のレコードを移動して新しいレコードのルームを作ります。配列がフルであれば、拡張します。

構文

ArrayInsert(&Array,Index,Record)

Array は、指定されるレコードを挿入する配列の名前です。間接アドレスであることに注意してください。

Index は、レコードを挿入する配列内の位置です。Index は、配列の要素数かまたは要素より１大きい数の範囲で指定します。Index が要素より１大きい時は、レコードは配列の最後尾に追加されます。

Record は、配列に挿入されるデータです。

配列名はアドレス渡しであることに注意してください。

戻り値

1 (TRUE) 	レコードが挿入されたとき

0 (FALSE) 	レコードが挿入されなかったとき

例

FUNCTION Example()

DIM Names(1)

WHILE (1)

ThisName = Query$("What is this person's Name (Enter to quit)?")

IF ThisName != ""

ArrayInsert(&Names, 1, ThisName)

ELSE

BREAK

ENDIF

WEND

Size = ArraySize(&Names)

Message("Number of records is {Size}.")

ArraySort(&Names)

Again:

Ndex = ArraySearch(&Names, Query$("What name to find?"))

IF Ndex != 0

IF Decide("Do you want to delete record {Ndex}?")

ArrayDelete(&Names, Ndex)

Size = Size - 1

ENDIF

ELSE

Message("Could not find record.")

GoTo again

ENDIF

FOR I = 1 to Size

ThisName = Names(I)

Message("Record Number {I} of {Size} is {ThisName}.")

NEXT

END FUNCTION

関連項目

DIM, ArrayInsertByKey, ArraySearch, ArraySize, ArraySort, ArrayDelete


ArrayInsertByKey

説明

配列が並べ替っているものとして、レコードを挿入します。配列は１要素または項目区切りレコードです。配列がフルであれば拡張します。

構文

ArrayInsertByKey(&Array,Record,Duplicates_OK,[,Fieldnumber,Delimiter])

Array は 、指定されるレコードを挿入する配列の名前です。間接アドレスであることに注意してください。

Record は、配列に挿入するデータです。

Duplicates_OK は、すでに同じキーが存在している時にそのレコードを挿入するかどうかを決めます。

Duplicates_OK 引数が TRUE であり、同じキーが存在しているときは、このレコードは他の同じキーのレコードの再後尾に挿入されます。

FieldNumber は、項目区切りレコードを扱う時のオプショナル項目番号です。キーフィールドを指定します。

Delimiter は、項目区切りレコードの区切り文字でオプショナルはアドレス渡し。

戻り値

挿入されたレコードのインデックである正数

0 (FALSE) 	レコードが挿入されなかったとき

例

FUNCTION Example()

DIM Names(1)

WHILE (1)

ThisName = Query$("What is this one's name?")

IF ThisName = ""

BREAK

ENDIF

ArrayInsertByKey(&Names, ThisName, TRUE)

WEND

Size = ArraySize(&Names)

FOR I = 1 to Size

ThisName = Names(I)

Message("Record #{I} of {Size} is {ThisName}.")

NEXT

END FUNCTION

関連項目

DIM, ArrayInsert, ArraySearch, ArraySize, ArraySort, ArrayDelete


ArraySearch

説明

キーを探して指定された配列を検索します。Fieldnumber と Delimiter が指定されれば、レコードが項目区切りであるものとして指定された項目だけを比較します。

複数個一致した場合は、最初に一致したレコードを目的のものとします。

Index が指定されている場合は、その位置から検索を開始して次に一致したレコードの Index を返します。

構文

ArraySearch(&Array, Key [,Fieldnumber, Delimiter][,Index])

Array は、検索する配列名です。アドレス渡しであることに注意してください。

Key は、検索するデータです。

Fieldnumber はオプションで、項目区切りレコードの場合に使う項目番号です。これでキー項目が決まります。

Delimiter はオプションで、項目区切りレコードの区切り文字です。

Index は、検索を開始する配列内の位置です。

戻り値

一致したレコードのインデックスで正数

0 (FALSE) 	一致するレコードがなかったとき

例

FUNCTION Example()

DIM Names(1)

WHILE (1)

ThisName = Query$("What is this person's Name (Enter to quit)?")

IF ThisName != ""

ArrayInsert(&Names, 1, ThisName)

ELSE

BREAK

ENDIF

WEND

Size = ArraySize(&Names)

Message("Number of records is {Size}.")

ArraySort(&Names)

Again:

Ndex = ArraySearch(&Names, Query$("What name to find?"))

IF Ndex != 0

IF Decide("Do you want to delete record {Ndex}?")

ArrayDelete(&Names, Ndex)

Size = Size - 1

ENDIF

ELSE

Message("Could not find record.")

GoTo again

ENDIF

FOR I = 1 to Size

ThisName = Names(I)

Message("Record Number {I} of {Size} is {ThisName}.")

NEXT

END FUNCTION

関連項目

DIM, ArrayInsert, ArrayInsertByKey, ArraySize, ArraySort, ArrayDelete


ArraySize

説明

存在する配列の要素の数を返します。

構文

ArraSize(&Array)

Array は、調べる配列の名前です。アドレス渡しで使用することに注意してください。

戻り値

配列の要素数

例

FUNCTION Example()

DIM Names(1)

WHILE (1)

ThisName = Query$("What is this person's Name (Enter to quit)?")

IF ThisName != ""

ArrayInsert(&Names, 1, ThisName)

ELSE

BREAK

ENDIF

WEND

Size = ArraySize(&Names)

Message("Number of records is {Size}.")

ArraySort(&Names)

Again:

Ndex = ArraySearch(&Names, Query$("What name to find?"))

IF Ndex != 0

IF Decide("Do you want to delete record {Ndex}?")

ArrayDelete(&Names, Ndex)

Size = Size - 1

ENDIF

ELSE

Message("Could not find record.")

GoTo again

ENDIF

FOR I = 1 to Size

ThisName = Names(I)

Message("Record Number {I} of {Size} is {ThisName}.")

NEXT

END FUNCTION

関連項目

DIM, ArrayInsert, ArrayInsertByKey, ArraySearch, ArraySort, ArrayDelete


ArraySort

説明

既存の配列を昇順に並べます。Fieldnumber と Delimiter が指定されていれば、レコードが項目区切りであるとして指定された項目で並べ替えを実行します。複数のキーがある場合は順序は不定です。

数字はアルファベットより前に並びます。

構文

ArraySort(&Array[,Fieldnumber,Delimiter])

Array は、並べ替える配列の名前です。アドレス渡しであることに注意してください。

FieldNumber は、項目区切りレコードを扱う場合のオプションの項目番号です。

この引数でキー項目が決ります。

Delimiter は、項目区切りレコードの区切り文字でオプションの指定です。

戻り値

1 (TRUE) 	配列が並べ替わったとき

0 (FALSE) 	配列が並べ替わらなかったとき

例

FUNCTION Example()

DIM Names(1)

WHILE (1)

ThisName = Query$("What is this person's Name (Enter to quit)?")

IF ThisName != ""

ArrayInsert(&Names, 1, ThisName)

ELSE

BREAK

ENDIF

WEND

Size = ArraySize(&Names)

Message("Number of records is {Size}.")

ArraySort(&Names)

Again:

Ndex = ArraySearch(&Names, Query$("What name to find?"))

IF Ndex != 0

IF Decide("Do you want to delete record {Ndex}?")

ArrayDelete(&Names, Ndex)

Size = Size - 1

ENDIF

ELSE

Message("Could not find record.")

GoTo again

ENDIF

FOR I = 1 to Size

ThisName = Names(I)

Message("Record Number {I} of {Size} is {ThisName}.")

NEXT

END FUNCTION

関連項目

DIM, ArrayInsert, ArrayInsertByKey, ArraySearch, ArraySize, ArrayDelete


ASC

説明

文字列の最初の文字の ANSI コードを返します。文字列が１文字以上からなる場合、残りの文字は無視します。

構文

ASC(Txt)

Txt は、１文字以上の文字列です。

戻り値

Text で指定された文字列の最初の１文字の ANSI コード

例

FUNCTION Example()

String = Query$("What character to return the ASCII Value of?")

Number = ASC(String)

Message("The ASCII equivalent of {String} is {Number}.")

END FUNCTION

関連項目

CHR$, LCASE$, MID$, strchr, strfield$, UCASE$, Right$, Left$, Instr, LEN, strcat$


ASCIIOptions

説明

テキストフィルタを使用しているオープンファイルに対して、テキストオプションを設定します。

<ファイル種別(T)> に ASCII が選ばれている時に <ファイル(F) オープン(O)> ダイアログボックスで <テキストオプション(A)> ボタンを選ぶことと同じです。

構文

ASCIIOptions(Options)

Options は、テキストファイルをオープンするのに有効なオプションで、次の値の１つあるいはそれ以上をとります。

CRLF(2) - 各行の終りに復帰／改行文字があるものとします。これが設定されていなければ、段落の終わりに CR/LF があるとします。

ANSI (16) - ８ビット ANSI ファイル

KeepStyle (32) - Keep スタイル名

戻り値

1

例

FUNCTION Example()

ASCIIOptions(PCASCII)

WinDir = GetWindowsDirectory$()

FileOpen("{WinDir}PRINTERS.TXT", 16, "ASCII")

END FUNCTION

関連項目

FileOpen, SaveAs


Assign

説明

式の結果を変数に代入し、同じ結果を返します。式は他の関数に引き渡せるものであれば何でもかまいません。この関数は IF と WHILE 文を使うときに便利です。

構文

Assign(&Var,Express)

Var は、Express から返される値を割り当てる変数の名前です。間接アドレスであることに注意してください。

Express は、評価する式です。

戻り値

Express からの戻り値

例

FUNCTION Example()

ONERROR toast

ONCANCEL toast

DEFSTR id, Line;

WinDir = GetWindowsDirectory$()

IF 0 != Assign(&id, fopen("{WinDir}PRINTERS.TXT", "r"))

New("~BASIC.STY", 0, 0)

WHILE -1 != Assign(&Line, fgets$(id))

TYPE("{Line}[Enter]")

WEND

toast:

fclose(id)

ELSE

Message("Could not open {WinDir}PRINTERS.TXT!")

ENDIF

END FUNCTION

関連項目

fopen, fgets$, fclose


AtEOF

説明

挿入点が文書の最後かどうかを返します。

構文

AtEOF()

戻り値

1 (TRUE) 	挿入点が文書の最後のとき

0 (FALSE) 	挿入点が文書の最後でないとき

例

FUNCTION Example()

TYPE("[CtrlHOME]")

Count = 0

WHILE not AtEOF()

TYPE("[CtrlDOWN]")

Count = Count + 1

WEND

Beep()

Message("There are {Count} paragraphs in the document.")

END FUNCTION

関連項目

CurChar$, CurWord$, GetPageNo, Type, TopOfFile, EndOfFile


BasicsHelp

説明

Ami Pro のオンラインヘルプを表示します。

メニューで <ヘルプ(H) 基本操作(B)> を選ぶことと同じです。ヘルプトピックを自動的に選ぶものではありません。トピックを選ぶには、普通の方法でヘルプシステムを使います。

ヘルプは普通の Ami Pro ウィンドウではないウィンドウ内に表示するので、その後に続く Ami Pro ウィンドウを塗り替えるマクロ関数は、ヘルプウィンドウを Ami Pro ウィンドウで置き換えてしまいます。

この関数はマクロの最後で使用してください。

構文

BasicHelp()

戻り値

1 (TRUE) 	ヘルプウィンドウが表示されたとき

-2 (GeneralFailure) 	何らかの理由でヘルプウィンドウが表示されなかったとき

-6 (NoMemory) 	メモリ不足でこの関数が実行できなかったとき

例

FUNCTION Example()

BasicsHelp()

END FUNCTION

関連項目

About, Help, HowDoIHelp, KeyboardHelp, MacroHelp, UsingHelp


Beep

説明

コントロールパネル上でサウンドが「ビープ音を鳴らす」になっているとき、ビープ音を鳴らします。

構文

Beep()

戻り値

なし

例

FUNCTION Example()

TYPE("[CtrlHOME]")

Count = 0

WHILE not AtEOF()

TYPE("[CtrlDOWN]")

Count = Count + 1

WEND

Beep()

Message("There are {Count} paragraphs in the document.")

END FUNCTION

関連項目

Message, StatusBarMsg, Hourglass


BinToBrackets

説明

バイナリ情報を Ami Pro のカッコ付きの規格に変換します。この関数は、fread 関数の後に使って、読んだものが何だったのかをはっきりと知ることに役立ちます。

構文

BinToBrackets(Data)

Data は、カッコ付きの規格に変換したいバイナリ情報。

戻り値

バイナリ情報に等しいカッコ付きの規格。

例

FUNCTION Example()

DEFSTR string;

id = fopen("test.txt", "w")

IF id != 0

Name = Query$("What is your name?")

fwrite(id, Name)

fwrite(id, BracketsToBin([Enter]))

fputs(id, Query$("What is your address?"))

fclose(id)

ENDIF

Exec("NOTEPAD.EXE", "TEST.TXT")

UserControl("Click on Resume to continue...")

AppClose("Notepad - TEST.TXT")

id2 = fopen("test.txt", "r")

IF id2 != 0

NameLength = len(Name)

fseek(id2, 0, 0)

Name = fread(id2, NameLength)

EnterKey = BinToBrackets(fread(id2, 2))

AddressBegins = ftell(id2)

Address = fgets$(id2)

Message("Your name is {Name}.")

Message("Your address is {Address}.")

Message("EnterKey = {EnterKey}")

Message("The address begins at the {AddressBegins} byte.")

fclose(id2)

ENDIF

END FUNCTION

関連項目

BracketsToBin, fopen, fclose, fread, fwrite, fgets$, fputs, ASC, CHR$


Bold

説明

文字データの太字属性をオンオフします。

メニューバーで <文字(T) 太字(B)> を選ぶことと同じです。オンとオフは現在の状況によって、どちらかに切り換わります。

構文

Bold()

戻り値

1 (TRUE) 	文字列が太字になったか解除されたとき

-2 (GeneralFailure) 	文字列が変更されなかったとき

例

FUNCTION Example()

String = "文字属性を変更したテキストの表示例です。  ABC  abc  12345  ｶﾀｶﾅ[Enter]"

NormalText()

TYPE("標準  ...[Enter]{String}")

BOLD()

TYPE("太字  ...[Enter]{String}")

BOLD()

Italic()

TYPE("斜体  ...[Enter]{String}")

Italic()

Underline()

TYPE("下線  ...[Enter]{String}")

Underline()

WordUnderline()

TYPE("単語下線  ...[Enter]{String}")

WordUnderline()

Bold()

Underline()

Italic()

TYPE("太字,  下線,  斜体  ...[Enter]{String}")

NormalText()

TYPE("標準  ...[Enter]{String}")

関連項目

Italic, NormalText, Underline, WordUnderline


BracketsToBin

説明

カッコ付きの値をそれに等しいバイナリに変換します。fwrite 関数を使うときに役立ちます。

構文

BracketsToBin(Data)

Data は、バイナリに変換するカッコ付きの情報。

戻り値

カッコ付きの情報に等しいバイナリ。

例

FUNCTION Example()

DEFSTR string;

id = fopen("test.txt", "w")

IF id != 0

Name = Query$("What is your name?")

fwrite(id, Name)

fwrite(id, BracketsToBin([Enter]))

fputs(id, Query$("What is your address?"))

fclose(id)

ENDIF

Exec("NOTEPAD.EXE", "TEST.TXT")

UserControl("Click on Resume to continue...")

AppClose("Notepad - TEST.TXT")

id2 = fopen("test.txt", "r")

IF id2 != 0

NameLength = len(Name)

fseek(id2, 0, 0)

Name = fread(id2, NameLength)

EnterKey = BinToBrackets(fread(id2, 2))

AddressBegins = ftell(id2)

Address = fgets$(id2)

Message("Your name is {Name}.")

Message("Your address is {Address}.")

Message("EnterKey = {EnterKey}")

Message("The address begins at the {AddressBegins} byte.")

fclose(id2)

ENDIF

END FUNCTION

関連項目

BinToBrackets, fopen, fclose, fread, fwrite, fgets$, fputs, ASC, CHR$


BringFrameToFront

説明

選ばれた枠を編集枠のスタックの先頭に持ってきます。

メニューで <枠(R) 前面へ(F)> を選ぶことと同じです。

構文

BringFrameToFront()

戻り値

1 (TRUE) 	枠が前面になったとき

0 (NoAction) 	枠はすでに前面にあったので何も起こらなかった

例

FUNCTION Example()

x = strfield$(CursorPosition$(), 1, ",")

y = strfield$(CursorPosition$(), 2, ",")

AddFrame(x, y, (x + 1440), (y - 1440))

MarkBookmark("Frame1", AddBookmark)

AddFrame((x + 360), (y - 360), (x + 1800), (y - 1800))

MarkBookmark("Frame2", AddBookmark)

SendFrameToBack()

MarkBookmark("Frame1", FindBookmark)

Message("The First frame is in front.")

MarkBookmark("Frame2", FindBookmark)

BringFrameToFront()

Message("The Second frame is in front.")

END FUNCTION

関連項目

GoToCmd, SendFrameToBack, SelectFrameByName, AddFrame, AddFrameDLG


CascadeWindow

説明

メニューで <ウィンドウ(W) カスケード表示(C)> を選ぶことと同じです。

複数個開かれたウィンドウは現在アクティブなものを先頭にして、カスケード表示されます。

構文

CascadeWindow()

戻り値

なし

例

FUNCTION Example()

Text = UCASE$(Left$(Query$("What action to take (Tile, Cascade, New, Select) on MDI Windows?"), 1))

SWITCH Text

CASE "T"

TileWindow()

CASE "C"

CascadeWindow()

CASE "N"

NewWindow()

CASE "S"

SelectWindow(Query$("Name of window to select (Name must match EXACTLY)?"))

default

Message("Only the proposed options are available.")

ENDSWITCH

END FUNCTION

関連項目

TileWindow, NextWindow, SelectWindow, NewWindow


CDbl

説明

指定された文字列の SBCS 文字を DBCS 文字に変換します。指定された文字列中の DBCS 文字は変換されずにそのままになります。

構文

CDbl$(Text[, Style])

Text は変換する文字列です。

Style は変換形式を指定します。省略した場合と 1 を指定した場合は SBCS 文字と DBCS 文字は一対一に対応します。2 を指定した場合は、濁点、半濁点を対応する文字に付加します。

戻り値

変換された文字列です。

例

FUNCTION Example()

DEFSTR chr

chr = CDbl$("ｶﾞｷﾞ")

Message("CDbl$(""ｶﾞｷﾞ"")..........{chr}")'この例の出力結果は"カ゛キ゛"になります

chr = CDbl$("ｶﾞｷﾞ", 1)

Message("CDbl$(""ｶﾞｷﾞ"",1)..........{chr}")'この例の出力結果は"カ゛キ゛"になります

chr = CDbl$("ｶﾞｷﾞ", 2)

Message("CDbl$(""ｶﾞｷﾞ"",2)..........{chr}")'この例の出力結果は"ガギ"になります

END FUNCTION

関連項目

CSng$


Center

説明

文字データの段落の中央揃えをオンオフします。中央揃え属性の状況によって、オンかオフに切り換えます。

メニューバーで <文字(T) 文字揃え(A) 中央揃え(C)> を選ぶことと同じです。

構文

Center()

戻り値

1 (TRUE) 	文字列が中央揃えになったか、または中央揃えが解除されたとき

-2 (GeneralFailure) 	変更されなかったとき

例

FUNCTION Example()

String = " ［文字揃え］ .. "

Center()'Turn Center On

TYPE("{String} 中央揃え[Enter]")

Center()'Turn Center Off

LeftAlign()'Turn Left Alignment On

TYPE("{String} 左寄せ[Enter]")

LeftAlign()'Turn Left Alignment Off

RightAlign()'Turn Right Alignment On

TYPE("{String} 右寄せ[Enter]")

RightAlign()'Turn Right Alignment Off

Justify()'Turn Jusification On

TYPE("{String} 両端揃え[Enter]")

Justify()'Turn Justification Off

END FUNCTION

関連項目

Justify, LeftAlign, NormalText, RightAlign


ChangeCascadeAction

説明

選ばれたカスケードメニュー項目の動きを変えます。引数 Help は、未定義でもかまいませんが必要です。

構文

ChangeCascadeAction(BarID,Menu,CascadeMenu,Item,NewAction,Help)

BarID は AddBar 関数で返されるメニューバーの認識番号で、Ami Pro メニューバーでは１とします。

Menu はカスケードメニューがあるプルダウンメニューの名前です。「&」を含めて完全に一致する名前を指定してください。

CascadeMenu は変更する項目があるカスケードメニューの名前です。「&」を含めて完全に一致する名前を指定してください。

Item は変更するカスケードメニュー項目の名前です。

NewAction は Ami Pro 関数またはマクロです。

Help はメニュー項目が選ばれているとき Ami Pro タイトルバーに表示されるオンラインヘルプ文字列です。この関数ではオプションではありません。

戻り値

1 (TRUE) 	項目の動作が変更されたとき

0 (FALSE) 	変更されなかったとき

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

DeleteMenu(1, "Test")

AddMenu(1, "Test")

AddMenuItem(1, "Test", "Test Menu Item 1", "{MacFile}!Test()", "Test help")

AddCascadeMenu(1, "Test", "Test Cascade")

AddCascadeMenuItem(1, "Test", "Test Cascade", "TCMI 1", "{MacFile}!Test2()", "")

AddMenuItem(1, "Test", "Change Stuff", "{MacFile}!Change()", "Change...")

END FUNCTION

FUNCTION Test()

Message("Test")

END FUNCTION

FUNCTION Test2()

Message("Test2")

END FUNCTION

FUNCTION Change()

MacFile = GetRunningMacroFile$()

ChangeMenuAction(1, "Test", "Test Menu Item 1", "{MacFile}!Test2()", "")

ChangeCascadeAction(1, "Test", "Test Cascade", "TCMI 1", "{MacFile}!Test()", "")

END FUNCTION

関連項目

AddMenu, Addbar, AddMenuItem, ChangeMenuAction, AddCascadeMenuItem, InsertMenu, InsertMenuItem, InsertCascadeMenu, InsertCascadeMenuItem, RenameMenuItem, GrayMenuItem, CheckMenuItem


ChangeIcons

説明

表示されているアイコンパレットを変更できるようにします。

Ami Pro は Windows ディレクトリのファイル内にアイコンパレット情報を保存します。

<ツール(L) アイコンパレット(I) カスタマイズ(C)> 機能のどれを使っても、変更情報はこのファイルに作られます。

関数に未定義文字列が渡されると、既定値のファイルを呼び出します。

構文

ChangeIcons(Filename)

Filename は、呼び出すアイコンパレットファイルの名前です。この名前のファイルが存在しない場合は、新規ファイルが作られてカレントのパレット情報が複写されます。

戻り値

1 (TRUE) 	変更されたとき

0 (FALSE) 	ファイルが作成されなかったとき

例

FUNCTION Example()

Filename = Query$("What Icon palette do you want to load?")

ChangeIcons(Filename)

END FUNCTION

関連項目

AddMenu, Addbar, AddMenuItem, AddCascadeMenuItem, InsertMenu, InsertMenuItem, InsertCascadeMenu, InsertCascadeMenuItem, GrayMenuItem, CheckMenuItem, AddCascadeMenu, Showbar


ChangeMenuAction

説明

プルダウンメニュー上のメニュー項目の働きを変更します。

構文

ChangeMenuAction(BarID, MenuName, ItemName,MacroName[!Function[(parm1[,param2...])]][,Help])

BarID は、AddBar 関数で返されるメニューバーの識別番号で、Ami Pro メニューバーでは１とします。

MenuName は、変更する項目があるプルダウンメニューの名前です。「&」を含めてプルダウンメニューと完全に一致する名前を指定します。

ItemName は、変更するメニュー項目の名前です。「&」を含めて既存のメニュー項目と完全に一致する名前を指定します。

MacroName は、このメニュー項目が選ばれたときに実行される Ami Pro 関数またはマクロ名です。

この引数は、マクロのファイル名、呼び出すファイルを含んだ関数、その関数に必要な引数を含むことができます。

少なくともマクロファイル名だけは必要です。パス名が付いていなければ、既定の文書パスとマクロパスを検索します。

Help は、メニュー項目がハイライトされているときに Ami Pro タイトルバーに現れる１行のヘルプ文字列です。Ami Pro 関数が使われるときに、１行のヘルプが表示されます。

戻り値

メニュー項目が変更された時には、正数。

0 (FALSE) 	メニュー項目が変更されなかったかまたは、BarID か MenuName が不正のとき

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

DeleteMenu(1, "Test")

AddMenu(1, "Test")

AddMenuItem(1, "Test", "Test Menu Item 1", "{MacFile}!Test()", "Test help")

AddCascadeMenu(1, "Test", "Test Cascade")

AddCascadeMenuItem(1, "Test", "Test Cascade", "TCMI 1", "{MacFile}!Test2()", "")

AddMenuItem(1, "Test", "Change Stuff", "{MacFile}!Change()", "Change...")

END FUNCTION

FUNCTION Test()

Message("Test")

END FUNCTION

FUNCTION Test2()

Message("Test2")

END FUNCTION

FUNCTION Change()

MacFile = GetRunningMacroFile$()

ChangeMenuAction(1, "Test", "Test Menu Item 1", "{MacFile}!Test2()", "")

ChangeCascadeAction(1, "Test", "Test Cascade", "TCMI 1", "{MacFile}!Test()", "")

END FUNCTION

関連項目

AddBar, AddMenu, AddMenuItem, AddMenuItemDDE, ChangeMenuAction, CheckMenuItem, DeleteMenu, DeleteMenuItem, GetMacPath$, GrayMenuItem, RenameMenuItem, ShowBar, AddCascadeMenu, AddCascadeMenuItem, ChangeCascadeAction, InsertMenu, InsertMenuItem, InsertCascadeMenu, InsertCascadeMenuItem


ChangeShortcutKey

説明

マクロ実行のショートカットキーを割り当てます。既存のマクロキー定義を置き換えます。

MacroName が存在しているかどうかはチェックしません。

無効な MacroName が指定された場合、キーストロークが使われても何も実行しません。

構文

ChangeShortcutKey(MacroName, Key, State)

MacroName は、ファイル名を含んだマクロ名で、キーストロークに割り当てられているものです。

Key は、ショートカットキーとして使われる英数字キーです。

State は、キーの shift 状態で、C (Control key),S (Shift key),A (Alternate key) のいずれかあるいはこの３つの組み合わせで指定します。組み合わせの場合は、"SCA" の順にします。

戻り値

1 (TRUE) 	マクロがファンクションキーに割り当てられたとき。

-2 (GeneralFailure) 	keyname が不正のためキーが割り当てられなかったとき。

例

FUNCTION Example()

Filename = Query$("What macro do you want to change the shortcut key for?")

Key = Query$("What number function key do you want to assign?")

IF UCASE$(Left$(Key, 1)) = "F"

Key = MID$(Key, 2, len(Key))

IF not IsNumeric(Key)

Message("Not a valid function key; try again.")

ENDIF

ENDIF

IF Decide("Use Shift with F{key}?")

State = "S"

ELSE

State = ""

ENDIF

IF Decide("Use Ctrl with F{key}?")

State = strcat$(State, "C")

ENDIF

IF Decide("Use Alt with F{key}?")

State = strcat$(State, "A")

ENDIF

IF -2 = ChangeShortcutKey(Filename, Key, State)

Message("Could not change shortcut key for {Filename} to {State}F{Key}")

ENDIF

END FUNCTION

関連項目

AddMenu, Addbar, AddMenuItem, ChangeMenuAction, AddCascadeMenuItem, InsertMenu, InsertMenuItem, InsertCascadeMenu, InsertCascadeMenuItem, RenameMenuItem, CheckMenuItem, OnKey


CharLeft

説明

挿入点を変更しないままで、文書を１文字分左にスクロールします。マウスを使って、水平スクロールバーの右側にある右矢印を１度クリックすることと同じです。

構文

CharLeft()

戻り値

0

例

FUNCTION Example()

ONERROR toast

ONCANCEL toast

Mode = GetMode()

IF Mode != 1

LayoutMode()

ENDIF

Again:

UserControl("Click on Resume to shift to the left, or Cancel to Quit.")

CharLeft()

GoTo Again

toast:

IF Mode != 1

IF Mode = 16

DraftMode()

ELSEIF Mode = 48

OutlineMode()

ENDIF

ENDIF

END FUNCTION

関連項目

CharRight, EndOfFile, LeftEdge, LineDown, LineUp, RightEdge, ScreenDown, ScreenLeft, ScreenRight, ScreenUp, TopOfFile


CharRight

説明

挿入点を変更しないままで、文書を１文字分右にスクロールします。マウスを使って、水平スクロールバーの左側にある左矢印を１度クリックすることと同じです。

構文

CharRight()

戻り値

0

例

FUNCTION Example()

ONERROR toast

ONCANCEL toast

Mode = GetMode()

IF Mode != 1

LayoutMode()

ENDIF

Again:

UserControl("Click on Resume to shift to the right, or Cancel to Quit.")

CharRight()

GoTo Again

toast:

IF Mode != 1

IF Mode = 16

DraftMode()

ELSEIF Mode = 48

OutlineMode()

ENDIF

ENDIF

END FUNCTION

関連項目

CharLeft, EndOfFile, LeftEdge, LineDown, LineUp, RightEdge, ScreenDown, ScreenLeft, ScreenRight, ScreenUp, TopOfFile


ChartingMode

説明

ユーザーにグラフダイアログボックスを表示して、選択できるようにします。

メニューで <ツール(L) グラフ(C)> を選ぶことと同じです（ただし、グラフ機能がインストールされていなければなりません）。

これは、自動的にグラフを描く機能ではありません。

グラフを描くには、手動でグラフ化機能を選ぶ必要があります。

構文

ChartingMode()

戻り値

1 (TRUE) 	グラフモードが設定されたとき

-2 (GeneralFailure) 	グラフモードが設定できなかったとき

例

FUNCTION Example()

New("~BASIC.STY", 0, 0)

TYPE("12 33 55 87 99[Enter]45 67 32 88 94[Enter][Enter]")

TYPE("[CtrlHOME][CtrlShiftEND]")

Copy()

ChartingMode()

END FUNCTION

関連項目

AddFrame, ModifyLayout, DrawingMode


CheckMenuItem

説明

メニュー項目の後にチェックマークを付けたり消したりします。この関数は現在アクティブなメニュー項目をマークするのに使います。

構文

CheckMenuItem(BarID, MenuName [, CascadeMenu], ItemName, State)

BarID は、AddBar 関数で返されるメニューバーの識別番号で、Ami Pro メニューバーでは１とします。

MenuName は、チェックするかまたはチェックをはずす項目があるプルダウンメニューの名前です。「&」を含めてプルダウンメニューと完全に一致する名前を指定します。

CascadeMenu はオプションで、チェックするかまたはチェックをはずす項目があるカスケードメニューの名前です。「&」を含めて、変更するカスケードメニューと完全に一致する名前を指定します。

ItemName は、チェックするまたはチェックをはずすメニュー項目の名前です。

State は、チェックされているかどうかの状態表示で。１ (On) または ０ (Off) です。

戻り値

1 (TRUE) 	項目がチェックされたかチェックを解除されたとき

0 (FALSE) 	項目がチェックまたはチェック解除されなかったあるいは、BarID,MenuName,ItemName のいずれかが不正のとき

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

State = 0

DeleteMenuItem(1, "&Text", "B&old+Italic+Underline")

InsertMenuItem(1, "&Text", 10, "B&old+Italic+Underline", "{MacFile}!Example2({State})", "Bold and Italicize and Underline Text.")

END FUNCTION

FUNCTION Example2(State)

MacFile = GetRunningMacroFile$()

State = Right$((State - 1), 1)

Bold(State)

Underline(State)

Italic(State)

ChangeMenuAction(1, "&Text", "B&old+Italic+Underline", "{MacFile}!Example2({State})", "Bold and Italicize and Underline Text.")

CheckMenuItem(1, "&Text", "B&old+Italic+Underline", State)

END FUNCTION

関連項目

AddBar, AddMenu, AddMenuItem, AddMenuItemDDE, ChangeMenuAction, DeleteMenu, DeleteMenuItem, GrayMenuItem, RenameMenuItem, ShowBar, AddCascadeMenu, AddCascadeMenuItem, ChangeCascadeAction, InsertMenu, InsertMenuItem, InsertCascadeMenu, InsertCascadeMenuItem


CHR
CHR$

説明

引数で与えられる数値の ANSI 文字を返します。

構文

CHR$(Value)

Value は、０から 255 の数値。

戻り値

関数の引数から導かれた ANSI 文字

例

FUNCTION Example()

TYPE("NumberCharacter[Enter]")

FOR I = 1 to 255

Char = CHR$(I)

TYPE("{I}={Char}[Enter]")

NEXT

END FUNCTION

関連項目

ASC, LCASE$, MID$, strchr, strfield$, UCASE$, Right$, Left$, Instr, LEN, strcat$


ClipboardRead

説明

クリップボードから情報を呼び出します。

構文

ClipboardRead(Format)

Format は、クリップボード内での情報の保存形式です。テキスト形式での情報には 0 を渡します。

戻り値

1 (TRUE) 	情報を取り出したとき

0 (FALSE) 	情報が取り出せなかったとき

例

FUNCTION Example()

Stuff = Query$("Enter what you want put on the clipboard:")

ClipboardWrite(Stuff, 1)

CALL Example2()

END FUNCTION

FUNCTION Example2()

Paste()

TYPE("[Enter]Should look exactly like the line below:[Enter]")

TYPE(ClipboardRead(0))

END FUNCTION

関連項目

ClipboardWrite, Cut, Copy, Paste, DDELinks


ClipboardWrite

説明

クリップボードに指定された形式の情報を書き込みます。

構文

ClipboardWrite(Data, Format)

Data はクリップボード内にある文字列です。

Format は、クリップボード内での情報の保存形式です。テキスト形式での情報には 0 を渡します。

戻り値

1 (TRUE) 	情報が書き込まれたとき

0 (FALSE) 	情報が書き込まれなかったとき

例

FUNCTION Example()

Stuff = Query$("Enter what you want put on the clipboard:")

ClipboardWrite(Stuff, 1)

CALL Example2()

END FUNCTION

FUNCTION Example2()

Paste()

TYPE("[Enter]Should look exactly like the line below:[Enter]")

TYPE(ClipboardRead(0))

END FUNCTION

関連項目

ClipboardRead, Cut, Copy, Paste, DDELinks


ConnectCells

説明

選択された表のセルを連結または連結解除します。

メニューで <表(B) 連結(C)> を選ぶことと同じです。ConnectCells 関数はトグルで、選択したセルが連結されていなければ連結し、すでに連結されている時には連結を解除します。

構文

ConnectCells()

戻り値

1 (TRUE) 	セルが連結されたか、または連結解除されたとき

-2 (GeneralFailure) 	セルが連結されなかったか、または連結解除されなかったとき

-7 (CouldNotFind) 	連結または連結解除するセルがなかったとき

例

FUNCTION Example()

DEFSTR StartRow, StartCol, EndRow, EndCol;

Tables(1, TRUE, 4, 10)

TableLayout(2, TRUE, 1440, 0, 0, 0, TRUE, TRUE, FivePoint, TRUE, TRUE)

WHILE StartRow != 2

TYPE("[Right]")

TableGetRange(&StartRow, &StartCol, &EndRow, &EndCol)

WEND

TYPE("[SHIFTRight][SHIFTRight]")

ConnectCells()

TableLines(AllSides, 0, 0, OnePoint, 0)

END FUNCTION

関連項目

ProtectCells, TableLayout, Tables, SizeColumnRow, TableLines


ControlPanel

説明

Windows のコントロールパネルを実行します。メニューでコントロールボタンの <操作パネル(P)> を選ぶことと同じです。

コントロールパネルの設定はこのマクロ関数で直接実行するのではありません。

コントロールパネルウィンドウを開くだけで、すぐに制御をマクロに返します。コントロールパネルの設定を揃えたらウィンドウをクローズして Ami Pro に戻ることができます。

この後の関数が画面表示を含んでいれば、マクロがバックグラウンドで実行されているように Ami Pro ウィンドウがコントロールパネルを覆い隠してしまいます。

この関数を使う前に Ami Pro ウィンドウを最小化するか、この関数をマクロの最後の関数にしてください。または、マクロの操作を一時的に止めるためにポーズか UserControl box を置いてください。

構文

ControlPanel

戻り値

1

例

FUNCTION Example()

UserControl("”再開”をｸﾘｯｸすると”ｺﾝﾄﾛｰﾙﾊﾟﾈﾙ”を起動します")

ControlPanel

UserControl("”再開”をｸﾘｯｸすると”ｺﾝﾄﾛｰﾙﾊﾟﾈﾙ”を終了します")

AppClose("コントロール パネル")

END FUNCTION

関連項目

PrintSetup, PrintOptions


Copy

説明

選択した文字列、枠または表をクリップボードに複写します。

メニューで <編集(E) 複写(C)> を選ぶことと同じです。

構文

Copy()

戻り値

1 (TRUE) 文字列がクリップボードに複写されたとき

-2 (GeneralFailure) 文字列が複写されなかったかまたは文字列がなかったとき

例

FUNCTION Example()

New("~BASIC.STY", 0, 0)

TYPE("12 33 55 87 99[Enter]45 67 32 88 94[Enter][Enter]")

TYPE("[CtrlHOME][CtrlShiftEND]")

Copy()

ChartingMode()

END FUNCTION

関連項目

Cut, Paste, CurChar$, CurWord$, CurShade$, DDELinks, ClipboardRead, ClipboardWrite


CreateStyle

説明

新しい段落スタイルを作ります。

メニューで <スタイル(S) 新規スタイル作成(C)> を選ぶことと同じです。

構文

CreateStyle(NewName, BaseName, Options)

NewName は、新規スタイル名です。

BaseName は、新規スタイル名の基本となる既存の段落スタイル名です。

Options は、スタイルの新規作成か変更かのフラグです。挿入点のスタイルを基本とする作成あるいは変更であるか、BaseName 引数で与えられるスタイルによるものかも決めます。

CreateSty (0) - スタイル新規作成

ModSty (1) - スタイル変更

SelectSty(2) - 挿入点のスタイルを基本として作成あるいは変更する。この引数があるときには、BaseName 引数は無視される。

BaseName には、空文字列 (" ") を入れます。

Option 引数は CreateSty か ModSty かで、SelectSty はそのどちらかに付加えて指定する。

Create Style ダイアログボックスを表示してユーザーが引数を指定する場合は、CreateStyle とします。

戻り値

1 (TRUE) 	新規段落スタイルが作成されたとき

0 (UserCancel) 	関数を取り消したとき

-2 (GeneralFailure) 	段落スタイルが作成されなかったとき

-6 (NoMemory) 	メモリ不足で関数が実行できなかったとき

例

FUNCTION Example()

NewName = Query$("新規作成するｽﾀｲﾙ名は？", "ﾃｽﾄｽﾀｲﾙ")

BaseName = GetStyleName$()

retcd = CreateStyle(NewName, BaseName, CreateStyle)

ModifySelect(NewName)

ModifyAlignment(AlignLeft, 0, 0, 0, 1, 0)

ModifyBreaks(4, 0, 0)

ModifyEffects("<･17>", SpaceIndent, ".20", 0, 0, 0,108,179,54, 0)

ModifySpacing(2, 0, 0, 0, 100, 1, 1)

ModifyTable(3, 2, ".", ",", "$", (8 + 16 + 128 + 256))

ModifyLines(1, 2, 180, 0, 0, 0, 0, 65535)

ModifyFont("ｺﾞｼｯｸ", (20*20), 255, 1,108,179,54)

SetStyle(NewName)

ModifyReflow()

TYPE("この段落は[Enter]新規作成した[Enter]スタイル {NewName} の[Enter]段落です[Enter]")

SetStyle(BaseName)

END FUNCTION

関連項目

ModifyAlignment, ModifyBreaks, ModifyEffects, ModifyFont, ModifyLines, ModifyStyle, ModifyReflow, ModifySelect, ModifySpacing, ModifyTable, SaveAsNewStyle, UseAnotherStyle, StyleManagAction, StyleManageFinish, StyleManageInit, StyleManagement


CSng
CSng$

説明

指定された文字列の DBCS 文字を SBCS 文字に変換します。指定された文字列中の SBCS 文字は変換されずにそのままになります。

構文

CSng$(Text[,Style])

Text は変換する文字列です。

Style は変換形式を指定します。省略した場合と 1 を指定した場合は DBCS 文字と SBCS 文字は一対一に対応します。濁点、半濁点は清音化された SBCS １文字になります。2 を指定した場合は濁点、半濁点を対応する文字に付加します。

戻り値

変換された文字列です。

例１

FUNCTION

CSng$("ガギ")

END FUNCTION

この例の出力結果は"ｶｷ"になります。

例２

FUNCTION

CSng$("ガギ",1)

END FUNCTION

この例の出力結果は"ｶｷ"になります。

例３

FUNCTION

CSng$("ガギ",2)

END FUNCTION

この例の出力結果は"ｶﾞｷﾞ"になります。

関連項目

CDbl$


CurChar
CurChar$

説明

挿入点の右側の文字を返します。

構文

CurChar$()

戻り値

挿入点の右側の文字。

挿入点がマークのとき、空文字列 ("") を返します。空文字を返すマークは、しおり、メモ、日付マーク、差込み変数、段落の最後、脚注などです。

例

FUNCTION Example()

UserControl("Place your cursor in the document, then click on Resume...")

Message(CurChar$())

UserControl("Shade some text, then click on Resume...")

Message(CurShade$())

UserControl("Click on a word in your document, then click on Resume...")

Message(CurWord$())

END FUNCTION

関連項目

CurWord$, CurShade$, GoToCmd, GetMarkText$, GetTextBeforeCursor$, GoToShade


CurShade
CurShade$

説明

影付の文字列の値を返します。

構文

CurShade$()

戻り値

影付きの文字がなければ空文字列 ("") 。

印刷可能な文字だけを返して、マークは無視されます。

例

FUNCTION Example()

UserControl("Place your cursor in the document, then click on Resume...")

Message(CurChar$())

UserControl("Shade some text, then click on Resume...")

Message(CurShade$())

UserControl("Click on a word in your document, then click on Resume...")

Message(CurWord$())

END FUNCTION

関連項目

CurChar$, CurWord$, GoToCmd, GetMarkText$, GetTextBeforeCursor$, GoToShade


CursorPosition
CursorPosition$

説明

ページ内の挿入点を決定します。

X はページ内の水平位置を twips（1 inch = 1440 twips） 単位で示します。Y はページ内の垂直位置を twips 単位で示します。

ページの左上の位置が 0,0 です。位置が右に動くにしたがって X 値は大きくなります。

Y は負の値で位置が下に動くにしたがって小さくなります。

構文

CursorPosition$()

戻り値

挿入点が表示されていないか、現在のページ内にないか、Ami Pro がドラフトモードである場合には空文字列 ("") が返ります。

挿入点を "X,Y" 形式で表した文字列を返します。

例

FUNCTION Example()

unit=1440 * 0.3937'Twips / cm

Mode = GetMode()'What mode is the screen in?

IF Mode != 1

LayoutMode()'If not Layout Mode, make it so.

ENDIF

IF Decide("現在のカーソル位置に”枠”を作成してもいいですか？")

'Give user Yes or No Dialog Box

Position = CursorPosition$()'Get current cursor prosition, in twips

X = strfield$(Position, 1, ",")'Parse out the X coordinate

Y = strfield$(Position, 2, ",")'Parse out the Y coordinate

X2 = X + (Query$("幅は何cmにしますか？") * unit)

'Compute Length of box

Y2 = Y + (Query$("高さは何cmにしますか", "1") * (unit * -1))

'Compute height of box

AddFrame(X, Y, X2, Y2)'Add the frame, using current defaults

ELSE

AddFrameDLG'Display Add Frame dialog box.

ENDIF

IF Mode = 48

type("[CtrlHome]")

OutlineMode()

ELSEIF Mode = 16

type("[CtrlHome]")

DraftMode()

ENDIF

END FUNCTION

関連項目

AddFrame, AddFrameDLG, GetTextBeforeCursor$, TYPE, strfield$, GetMode, LayoutMode, DraftMode, OutlineMode


CurWord
CurWord$

説明

挿入点の単語の値を返します。

構文

CurWord$()

戻り値

印刷可能な文字列のみを返し、マークは無視します。

例

FUNCTION Example()

UserControl("Place your cursor in the document, then click on Resume...")

Message(CurChar$())

UserControl("Shade some text, then click on Resume...")

Message(CurShade$())

UserControl("Click on a word in your document, then click on Resume...")

Message(CurWord$())

END FUNCTION

関連項目

CurChar$, CurShade$, GoToCmd, GetMarkText$, GetTextBeforeCursor$, GoToShade


Cut

説明

選択した文字データ、枠、表を文書から切り抜き、クリップボードに保存します。

メニューで <編集(E) 切り抜き(T)> を選ぶことと同じです。

構文

Cut()

戻り値

なし。文字を選択していない場合は、エラーメッセージを表示して終了します。

例

FUNCTION Example()

UserControl("Shade the text to move to the end of the doc, then click on Resume...")

Cut()

TYPE("[CtrlEND]")

Paste()

END FUNCTION

関連項目

Copy, Paste, CurChar$, CurWord$, CurShade$, DDELinks, ClipboardRead, ClipboardWrite


DarkMode

説明

マクロ実行中の Ami Pro 画面の更新を止めます。DarkMode がオンになると、そのときの MDI ウィンドウ内の画面表示は凍結されます。画面は、DarkMode がオフされるまで更新されません。

マクロを終了する前に DarkMode をオフにしないと、画面を再表示できなくなりますので注意してください。

構文

DarkMode(State)

State はフラグ変数で、DarkMode が有効かどうかを決定します。State の値は、次のいずれかです。

On(1)－ 画面更新を止める。

Off(0)－ 画面を再表示し、更新可能にする。

戻り値

State(フラグ関数)の値

例

FUNCTION Example()

DarkMode(1)

TYPE("This is a sample of what Dark Mode can do for you.")

DarkMode(0)

END FUNCTION

関連項目

Hourglass, Pause, StatusBarMsg


DateDiff

説明

Date1 から Date2 の差を計算して、経過日数を求めます。

構文

DateDiff(Date1,Date2)

Date1 が第１の日付で、1981年1月1日以来の秒数または、設定されている Windows 形式の日付です。

Date2 が第２の日付で、1981年1月1日以来の秒数または、設定されている Windows 形式の日付です。

戻り値

２つの日付間の経過日数

例

FUNCTION Example()

Again:

Born = Query$("お子さんのお誕生日は (YY/MM/DD)？       YY > 79")

if strfield$(Born,1,"/") < 80

message("注意:DateDiff()では1980年以前の計算はサポートしていません")

goto Again

endif

Date = FormatDate$(Now(), "a")

Time = FormatTime$(Now(), 6)

Days = DateDiff(Date, Born)

TextDate = FormatDate$(Now(), "d")

Message("ただいま {TextDate} の {Time} です。お子さんが生まれてから {Days} 日目です。")

END FUNCTION

関連項目

FormatDate$, FormatTime$, Now, GetTime


DDEAdvise

説明

アプリケーション内でデータが変更された場合に、そのアプリケーションに Ami Pro を認識させます。

DDEAdvise 関数を使う前に、DDEInitiate 関数を使って他のアプリケーションとの会話が始まっていなければなりません。

DDEAdvise 関数に従って、Ami Pro は正常に動作します。Channel と Item からデータを受け取ると、DDEAdvise で指定したマクロが始まります。CF_Text 形式で他のアプリケーションから受け取ったデータは、マクロの最初の引数として DDEAdvise 関数で指定されたマクロに引き渡されます。必要に応じて他のアプリケーションからデータを解析するのは、マクロの種類によります。

構文

DDEAdvise(ChannelID,Item,Macroname[!Function])

ChannelIDは、DDE 会話のチャネル ID。

Item は、リンクされたアプリケーションから要求される情報。

Macroname は、リンクされたアプリケーション内でデータ変更が行なわれる Ami Pro マクロの名前。

戻り値

1 - (TRUE) 	Ami Pro の要求に他のアプリケーションが応えた場合

0 - (FALSE) 	他のアプリケーションが接続できなかったか、またはチャネル ID が不正だった場合

例

FUNCTION Example()

'singlestep(1)

MacFile = GetRunningMacroFile$()

DECLARE GetNumber()

Sheet=""

id = DDEInitiate("123W","新規ファイル")

IF id = 0

Exec("A:\123W\123W.EXE",1)

OK = FALSE

FOR I = 1 to 10

id = DDEInitiate("123W","新規ファイル")

IF id > 0

OK = TRUE

BREAK

ENDIF

NEXT

IF OK = FALSE

Message("1-2-3/Windowsとの DDE ﾘﾝｸ が 開設できません!")

EXIT FUNCTION

ENDIF

ENDIF

AllocGlobalVar("ChannelNumber", 1)

SetGlobalVar("ChannelNumber", id)

DDEPoke(id, "A1", "12345")

DDEAdvise(id, "A1", "{MacFile}!GetNumber")

GoTo endit

toast:

DDEUnAdvise(id, "A1")

FreeGlobalVar("ChannelNumber")

DDETerminate(id)

endit:

END FUNCTION

FUNCTION GetNumber()

id = GetGlobalVar$("ChannelNumber")

FreeGlobalVar("ChannelNumber")

Value = DDEReceive$(id, "A1")

DDEUnAdvise(id, "A1")

DDETerminate(id)

Message("ｾﾙ:A1 の内容は {Value} です")

END FUNCTION

関連項目

AddMenuItemDDE, DDEExecute, DDEInitiate, DDEPoke, DDEReceive$, DDETerminate, DDEUnAdvise, Exec, GetMacPath$, GetRunningMacroFile$, 実行時のマクロ検索


DDEExecute

説明

Windows Dynamic Data Exchange を使っているアプリケーションにコマンドﾞを与えます。

この DDEExecute 関数を使う前に、DDEInitiate 関数を使って他のアプリケーションとの会話が始っていなければなりません。

リンクしたアプリケーションに与えるコマンドは、そのアプリケーション側で決められます。

構文

DDEExecute(ChannelID,Command)

ChannelID は、DDE 会話のチャネル ID。

Command は、リンクしたアプリケーションに与えるコマンドで、角カッコで囲みます。

戻り値

1 (TRUE) 	他のアプリケーションにコマンドが送られたとき

0 (False) 	他のアプリケーションがコマンドを拒否したか、またはチャネル ID が不正だったとき

例

FUNCTION Example()

id = DDEInitiate("123W", "新規ファイル")

IF id = 0

Exec("A:\123W\123W.EXE", 1)

OK = FALSE

FOR I = 1 to 10

id = DDEInitiate("123W", "新規ファイル")

IF id > 0

OK = TRUE

BREAK

ENDIF

NEXT

IF not OK

Message("1-2-3/Windows との DDE ﾘﾝｸ が開設できません！")

EXIT FUNCTION

ENDIF

ENDIF

Principal = Query$("借入金額は？")

Interest = Query$("年利は (12％ = .12)？") / 12

Term = Query$("返済期間(月数)？")

IF Interest > 1

Interest = Interest / 100

ELSEIF Right$(Interest, 1) = "%"

Interest = Left$(Interest, (Len(Interest) - 1)) / 100

ENDIF

DDEExecute(id, "[[RUN(""@PMT({Principal},{Interest},{Term})~"")]")

Value = DDEReceive$(id, "A1")

DDETerminate(id)

Value=FormatNum$("\","",1,Value)

Message("月々の返済額は {Value} です")

END FUNCTION

関連項目

ActivateApp, AddMenuItemDDE, DDEAdvise, DDEInitiate, DDEPoke, DDEReceive$, DDETerminate, DDEUnAdvise, Exec


DDEInitiate

説明

Windows Dynamic Exchange を使用して他のアプリケーションとの会話を始めます。

そのアプリケーションは、DDE プロトコルを介しての通信が可能でなければなりません。

この関数は１つのアプリケーションにおいて他の DDE 機能より前に実行します。

構文

DDEInitiate(Application,Topic)

Application は、DDE 会話の対象のアプリケーション。

Topic は、他のアプリケーションで決定される。通常は、アクセスしたいアプリケーションのデータファイル名。

戻り値

会話が成立すれば、正のチャネル ID が返される。

0 (FALSE) 	会話が開始できなかったとき。アプリケーションが動いていないか、Topic をオープンしなかったか、DDE をサポートしていないとき。

例

FUNCTION Example()

id = DDEInitiate("123W", "新規ファイル")

IF id = 0

Exec("A:\123W\123W.EXE", 1)

OK = FALSE

FOR I = 1 to 10

id = DDEInitiate("123W", "新規ファイル")

IF id > 0

OK = TRUE

BREAK

ENDIF

NEXT

IF not OK

Message("1-2-3/Windows との DDE ﾘﾝｸ が開設できません！")

EXIT FUNCTION

ENDIF

ENDIF

Principal = Query$("借入金額は？")

Interest = Query$("年利は (12％ = .12)？") / 12

Term = Query$("返済期間(月数)？")

IF Interest > 1

Interest = Interest / 100

ELSEIF Right$(Interest, 1) = "%"

Interest = Left$(Interest, (Len(Interest) - 1)) / 100

ENDIF

DDEExecute(id, "[[RUN(""@PMT({Principal},{Interest},{Term})~"")]")

Value = DDEReceive$(id, "A1")

DDETerminate(id)

Value=FormatNum$("\","",1,Value)

Message("月々の返済額は {Value} です")

END FUNCTION

関連項目

DDEAdvise, DDEExecute, DDEPoke, DDEReceive$, DDETerminate, DDEUnAdvise, Exec


DDELinks

説明

<編集(E) リンクオプション(O)>のダイアログボックスを表示します。メニューで<編集(E) リンクオプション(O)>を選ぶことと同じです。<リンク(I)>はマクロで自動的に調整はされません。ダイアログボックスが表示されているときに<リンク(I)>のリストボックスを見て手動で調整し、マクロに戻るには[更新]か[取消]を選びます。

構文

DDELinks(Type,Cnt,[,Link Spec Pairs][,App,Topic,Item])

Type は、動作を表します。

1 - リンク停止

2 - 更新

3 - リンク切離し

4 - リンク変更

5 - リンク作成

Cnt は、Link Spec Pairs の数です。それぞれの組は、内部 ID と Type (文字列または枠) を含みます。

リンク作成がもっとも多く使われる値です。

戻り値

1 (TRUE) 	<リンクオプション(O)> のダイアログボックスが表示できたとき

0 (UserCancel) 	関数を取り消したとき

例

FUNCTION Example()

DDELinks(5) ' Note that this function assumes the clipboard already has linkable data in it

END FUNCTION

関連項目

Paste, Cut, Copy, ClipboardRead, ClipboardWrite


DDEPoke

説明

Ami Pro から他のアプリケーションへデータを送る場合に使います。DDEPoke 関数を使う前に、DDEInitiate 関数を使って他のアプリケーションとの会話を始めていなければなりません。

構文

DDEPoke(ChannelID,Location,Data)

ChannelID は、DDE 会話のチャネル ID。

Location は、他のアプリケーションのデータを送る位置。

Data は、他のアプリケーションに送るデータ。

戻り値

1 (TRUE) 	Ami Pro から送られたデータを他のアプリケーションが受取ったとき

0 (FALSE) 	他のアプリケーションと接続できなかったか、またはチャネル ID が不正のとき

例

FUNCTION Example()

'singlestep(1)

MacFile = GetRunningMacroFile$()

DECLARE GetNumber()

Sheet=""

id = DDEInitiate("123W","新規ファイル")

IF id = 0

Exec("A:\123W\123W.EXE",1)

OK = FALSE

FOR I = 1 to 10

id = DDEInitiate("123W","新規ファイル")

IF id > 0

OK = TRUE

BREAK

ENDIF

NEXT

IF OK = FALSE

Message("1-2-3/Windowsとの DDE ﾘﾝｸ が 開設できません!")

EXIT FUNCTION

ENDIF

ENDIF

AllocGlobalVar("ChannelNumber", 1)

SetGlobalVar("ChannelNumber", id)

DDEPoke(id, "A1", "12345")

DDEAdvise(id, "A1", "{MacFile}!GetNumber")

GoTo endit

toast:

DDEUnAdvise(id, "A1")

FreeGlobalVar("ChannelNumber")

DDETerminate(id)

endit:

END FUNCTION

FUNCTION GetNumber()

id = GetGlobalVar$("ChannelNumber")

FreeGlobalVar("ChannelNumber")

Value = DDEReceive$(id, "A1")

DDEUnAdvise(id, "A1")

DDETerminate(id)

Message("ｾﾙ:A1 の内容は {Value} です")

END FUNCTION

関連項目

AddMenuItemDDE, DDEAdvise, DDEExecute, DDEInitiate, DDEReceive$, DDETerminate, DDEUnAdvise, Exec


DDEReceive
DDEReceive$

Dynamic Data Exchange を使用してアプリケーション側からデータを受取る場合に使います。DDEReceive$ 関数を使う前に、DDEInitiate 関数を用いてアプリケーションとの会話が始っていなければなりません。この関数が使われるとき、Ami Pro は他のアプリケーションがリクエストした後でデータを受取ります。

構文

DDEReceive$(ChannelID,Item)

ChannelID は、DDE 会話のチャネル ID 。

Item は、リンクされたアプリケーションから要求される情報。

戻り値

アプリケーションがデータを送らないときには、空文字列 ("") 。

他のアプリケーションから要求されたデータ。

例

FUNCTION Example()

id = DDEInitiate("123W", "新規ファイル")

IF id = 0

Exec("A:\123W\123W.EXE", 1)

OK = FALSE

FOR I = 1 to 10

id = DDEInitiate("123W", "新規ファイル")

IF id > 0

OK = TRUE

BREAK

ENDIF

NEXT

IF not OK

Message("1-2-3/Windows との DDE ﾘﾝｸ が開設できません！")

EXIT FUNCTION

ENDIF

ENDIF

Principal = Query$("借入金額は？")

Interest = Query$("年利は (12％ = .12)？") / 12

Term = Query$("返済期間(月数)？")

IF Interest > 1

Interest = Interest / 100

ELSEIF Right$(Interest, 1) = "%"

Interest = Left$(Interest, (Len(Interest) - 1)) / 100

ENDIF

DDEExecute(id, "[[RUN(""@PMT({Principal},{Interest},{Term})~"")]")

Value = DDEReceive$(id, "A1")

DDETerminate(id)

Value=FormatNum$("\","",1,Value)

Message("月々の返済額は {Value} です")

END FUNCTION

関連項目

AddMenuItemDDE, DDEAdvise, DDEExecute, DDEInitiate, DDEPoke, DDETerminate, DDEUnAdvise, Exec


DDETerminate

説明

Windows Dynamic Data Exchange を使用するアプリケーション側との会話を終了します。

この関数を使用すると、Ami Pro は他のアプリケーションとのリンクをクローズします。

この関数を使用した後で更に情報が必要な場合は、新しい会話状態を始めなければなりません。

構文

DDETerminate(ChannelID)

ChannelID は、DDE 会話のチャネル ID 。

戻り値

1 (TRUE) 	会話が成功して終ったとき

0 (FALSE) 	会話が終らなかったか、またはチャネル ID が不正のとき

例

FUNCTION Example()

id = DDEInitiate("123W", "新規ファイル")

IF id = 0

Exec("A:\123W\123W.EXE", 1)

OK = FALSE

FOR I = 1 to 10

id = DDEInitiate("123W", "新規ファイル")

IF id > 0

OK = TRUE

BREAK

ENDIF

NEXT

IF not OK

Message("1-2-3/Windows との DDE ﾘﾝｸ が開設できません！")

EXIT FUNCTION

ENDIF

ENDIF

Principal = Query$("借入金額は？")

Interest = Query$("年利は (12％ = .12)？") / 12

Term = Query$("返済期間(月数)？")

IF Interest > 1

Interest = Interest / 100

ELSEIF Right$(Interest, 1) = "%"

Interest = Left$(Interest, (Len(Interest) - 1)) / 100

ENDIF

DDEExecute(id, "[[RUN(""@PMT({Principal},{Interest},{Term})~"")]")

Value = DDEReceive$(id, "A1")

DDETerminate(id)

Value=FormatNum$("\","",1,Value)

Message("月々の返済額は {Value} です")

END FUNCTION

関連項目

AddMenuItemDDE, DDEAdvise, DDEExecute, DDEInitiate, DDEPoke, DDEReceive$, DDEUnAdvise, Exec


DDEUnAdvise

説明

DDEAdvise 関数で設定した notification status をリセットします。この関数を使うと、カレント DDE チャネル上の他のアプリケーションは、データが更新されたときに Ami Pro を認識しなくなります。

構文

DDEUnAdvise(ChannelID,Item)

ChannelID は、DDE 会話のチャネル ID 。

Item は、リンクされたアプリケーションから要求された情報。

戻り値

1 (TRUE) 	他のアプリケーションが Ami Pro の要求に応えたとき。

0 (FALSE) 	他のアプリケーションが接続できなかったか、またはチャネル ID が不正のとき。

例

FUNCTION Example()

'singlestep(1)

MacFile = GetRunningMacroFile$()

DECLARE GetNumber()

Sheet=""

id = DDEInitiate("123W","新規ファイル")

IF id = 0

Exec("A:\123W\123W.EXE",1)

OK = FALSE

FOR I = 1 to 10

id = DDEInitiate("123W","新規ファイル")

IF id > 0

OK = TRUE

BREAK

ENDIF

NEXT

IF OK = FALSE

Message("1-2-3/Windowsとの DDE ﾘﾝｸ が 開設できません!")

EXIT FUNCTION

ENDIF

ENDIF

AllocGlobalVar("ChannelNumber", 1)

SetGlobalVar("ChannelNumber", id)

DDEPoke(id, "A1", "12345")

DDEAdvise(id, "A1", "{MacFile}!GetNumber")

GoTo endit

toast:

DDEUnAdvise(id, "A1")

FreeGlobalVar("ChannelNumber")

DDETerminate(id)

endit:

END FUNCTION

FUNCTION GetNumber()

id = GetGlobalVar$("ChannelNumber")

FreeGlobalVar("ChannelNumber")

Value = DDEReceive$(id, "A1")

DDEUnAdvise(id, "A1")

DDETerminate(id)

Message("ｾﾙ:A1 の内容は {Value} です")

END FUNCTION

関連項目

AddMenuItemDDE, DDEAdvise, DDEExecute, DDEInitiate, DDEPoke, DDEReceive$, DDETerminate, Exec


Decide

説明

標準の Windows メッセージボックス内に疑問符（？）のアイコン、決められたプロンプト、「はい／いいえ」のボタンを表示します。ユーザーがボタンを押したら、押されたボタンの ID を返します。

DecideYes(1) - はい

DecideNo(0)	  - いいえ

構文

Decide(Prompt[Title])

Prompt は、ユーザーへのガイド文字列で 80文字以内です。

Title は、マクロのメッセージボックスにタイトルを付けられます。既定値は”Ami Proマクロ”です。

戻り値

押されたボタンに対応する番号。

例

FFUNCTION Example()

unit=1440 * 0.3937'Twips / cm

Mode = GetMode()

IF Mode != 1

LayoutMode()

ENDIF

IF Decide("現在のカーソル位置に”枠”を作成してもいいですか？","枠作成")

Position = CursorPosition$()

X = strfield$(Position, 1, ",")

Y = strfield$(Position, 2, ",")

X2 = X + (Query$("幅は何cmにしますか？") * unit)

Y2 = Y + (Query$("高さは何cmにしますか", "1") * (unit * -1))

AddFrame(X, Y, X2, Y2)

ELSE

AddFrameDLG

ENDIF

IF Mode = 48

type("[CtrlHome]")

OutlineMode()

ELSEIF Mode = 16

type("[CtrlHome]")

DraftMode()

ENDIF

END FUNCTION

関連項目

DialogBox, Message, MultiDecide, Query$, UserControl


DECLARE

説明

マクロコンパイラに対して、あらかじめ関数を定義します。これを実行すると、CALL 文を使わないで未定義の関数を呼ぶことができます。

構文

DECLARE[Filename!]Macroname([parm1[,parm2...])]][,ALIAS Shorname]

Filename は、あらかじめ定義される関数のファイル名（オプション）です。指定されなければ、マクロはカレントファイルにあるものと仮定されます。

Macroname は、あらかじめ定義されるマクロ名です。

ALIAS は予約語で、使う時には Shortname を引数にします。これはオプションで、指定すればあらかじめこの行で定義されたマクロ関数に省略名を使うことができます。

すべての引数を指定することで、コンパイラはいくつあるかを知ることができます。

戻り値

なし

例

FUNCTION Example()

DECLARE Example2(p1, p2) ALIAS ExMac

Top = Query$("Enter the value for the numerator:")

Bottom = Query$("Enter the value for the denominator:")

Result = ExMac(Top, Bottom)

Message(Result)

END FUNCTION

FUNCTION Example2(Numerator, Denominator)

Result = MOD(Numerator, Denominator)

Return Result

END FUNCTION

関連項目

Declare, CALL, CALLI


DefineStyle

説明

選択した文字列の属性を取り出し、スタイルに反映します。

メニューで <スタイル(S) スタイル定義(D)> を選ぶことと同じです。

構文

DefineStyle()

戻り値

1 (TRUE) 	スタイルが変更されたとき

0 (UserCancel) 	関数を取り消したとき

例

FUNCTION Example()

CreateStyle("例", "本文",CreateStyle)

WHILE ""=CurShade$()

UserControl("ｽﾀｲﾙ定義に使用する文章を選択してください")

WEND

DefineStyle()

END FUNCTION

関連項目

CreateStyle, ModifyAlignment, ModifyBreaks, ModifyEffects, ModifyFont, ModifyLines, ModifyStyle, ModifyReflow, ModifySelect, ModifySpacing, ModifyTable, SaveAsNewStyle, UseAnotherStyle, StyleManagAction, StyleManageFinish, StyleManageInit, StyleManagement


DeleteColumnRow

説明

表の行あるいは列を取り除きます。

メニューから <表(B) 行/列の削除(D)> を選ぶことと同じです。

この機能は表の中でだけ使用できます。

構文

DeleteColumnRow(Which)

Which は、取り除くのが行または列のいずれかを指定します。

Column(1) - 列を削除する

Row(0) - 行を削除する

ダイアログボックスを表示して引数を手動で入力できるようにするには、DeleteColumnRow を使います。

戻り値

1 (TRUE) 	行または列が削除されたとき

0 (UserCancel/FALSE) 	関数を取り消したかまたは何も実行されなかったとき

例

FUNCTION Example()

DeleteColumnRow(Column)

END FUNCTION

関連項目

InsertColumnRow, SizeColumnRow


DeleteMenu

説明

メニューバーからメニューを削除します。

構文

DeleteMenu(BarID,Menu)

BarID は、AddBar 関数で返されるメニューバーの識別番号で、Ami Pro メニューバーでは１とします。

Menu は、削除するプルダウンメニューの名前です。名前は、「&」も含めて、削除するプルダウンメニューの名前と完全に一致していなければなりません。

戻り値

1 (TRUE) 	メニューが削除されたとき

0 (FALSE) 	メニューがメニューバーから削除できなかったかまたは BarID か Menu 名が不正だったとき

例

FUNCTION Example()

DeleteMenu(1, "&DDE")'Remove the menu if it already exists.

AddMenu(1, "&DDE")'Add the menu "DDE" to the Ami Pro menu bar

AddMenuItemDDE(1, "&DDE", "&Return Value of 555", 555, "This will send 555 to the app")

'Add the DDE menu item to that menu

AddMenuItemDDE(1, "&DDE", "&Return Value of 123", 123, "This will send 123 to the app")

'Add the DDE menu item to that menu

END FUNCTION

関連項目

AddBar, AddMenu, AddMenuItem, AddMenuItemDDE, ChangeMenuAction, CheckMenuItem, DeleteMenuItem, GrayMenuItem, RenameMenuItem, ShowBar


DeleteMenuItem

説明

メニューあるいはカスケードメニューからメニュー項目を削除します。

構文

DeleteMenuItem(BarID,MenuName[,CascadeMenu],Item)

BarID は、AddBar 関数で返されれるメニューバーの識別番号で、Ami Pro メニューバーでは１とします。

MenuName は、削除する項目があるプルダウンメニューまたはカスケードメニューの名前です。名前は「&」も含めて、削除するプルダウンメニューの名前と完全に一致していなければなりません。

CascadeMenu は、削除する項目が残っているカスケードメニューの名前（オプション）で、「&」も含めて完全に一致していなければなりません。

ItemName は、削除するメニュー項目で完全に一致していなければなりません。

戻り値

1 (TRUE) 	項目が削除されたとき

0 (FALSE) 	項目がメニューバーから削除できなかったかまたは BarID MenuName、ItemName のどれかが不正だったとき

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

State = 0

DeleteMenuItem(1, "&Text", "B&old+Italic+Underline")

InsertMenuItem(1, "&Text", 10, "B&old+Italic+Underline", "{MacFile}!Example2({State})", "Bold and Italicize and Underline Text.")

END FUNCTION

FUNCTION Example2(State)

MacFile = GetRunningMacroFile$()

State = Right$((State - 1), 1)

Bold(State)

Underline(State)

Italic(State)

ChangeMenuAction(1, "&Text", "B&old+Italic+Underline", "{MacFile}!Example2({State})", "Bold and Italicize and Underline Text.")

CheckMenuItem(1, "&Text", "B&old+Italic+Underline", State)

END FUNCTION

関連項目

AddBar, AddMenu, AddMenuItem, AddMenuItemDDE, ChangeMenuAction, CheckMenuItem, DeleteMenu, GrayMenuItem, RenameMenuItem, ShowBar


DialogBox

説明

1-2-3/Windows のスマートパックか、または 1-2-3/Windows R1.1J に入っているダイアログエディタを使って作成したダイアログボックスを表示します。ユーザーはダイアログボックスの中で選択し、プッシュボタンを押して制御をマクロに戻します。ダイアログボックス内の項目は、次のように割り当てられています。

0-19 - ダイアログボックスをクローズするプッシュボタン

20-999 - プッシュボタン、グループボックス、ラジオボタン、チェックボックス

1000-7999 - スタティックテキスト

8000-8999 - エディットボックス

9000-9499 - リストボックス

9500-9999 - コンボボックス

ダイアログボックスを表示する前にリストボックスの内容を作るには、FillList 関数を使います。エディットボックス、リストボックス、ボタンの状態は、FillEdit 関数で作ります。ダイアログボックスの表示が終了したあとでは、ダイアログボックスの項目の内容を取り出すために GetDialogField$ が使えます。

構文

DialogBox(Resource_file, Dialog_box_name)

Resource_file は、ダイアログボックスを含むファイル名です。

Dialog_box_name は、アクセスするダイアログボックス名です。

ダイアログボックスが 1-2-3/Windows のダイアログエディタを使って作られていて、外部ファイル内の唯一のダイアログボックスであれば、引数にはファイル名をセットします。

戻り値

押されたボタンの ID

0 (UserCancel)	関数を取り消したとき

-1 (NotFound)	リソースファイルが見つからなかったとき

例

FUNCTION Example()

Name = GetProfileString$("AmiPro", "UserName", "AMIPRO.INI")

FillEdit(8005, Name)

DIM Filters(10)

FOR I = 1 to 10

Filters(I) = strfield$(GetProfileString$("AmiPro", "application{I}", "AMIPRO.INI"), 1, ",")

FillList(Filters(I))

NEXT

FOR I = 1 to 10

FillEdit(9500, Filters(I))

NEXT

FillEdit(50, TRUE)

FillEdit(55, TRUE)

Box = DialogBox(".", "ExBox")

IF Box = -1

Message("Could not open dialog box; Exiting macro.")

EXIT FUNCTION

ELSEIF Box = 0

EXIT FUNCTION

ENDIF

Name2 = GetDialogField$(8005)

IF Name != Name2

IF Decide("Do you want to save your changes?")

WriteProfileString("AmiPro", "UserName", Name2, "AMIPRO.INI")

ENDIF

ENDIF

END FUNCTION

DIALOG ExBox

-2134376448 14 104 36 198 90 "" "" "Sample Dialog Box"

FONT 14 "System"

4 6 42 10 1000 1342308352 "static" "&User Name:" 0

52 4 92 12 8005 1350631552 "edit" "" 0

4 24 34 8 1001 1342308352 "static" "&Filters:" 0

4 34 66 52 9000 1352728579 "listbox" "" 0

74 24 52 8 1002 1342308352 "static" "&More Filters:" 0

74 34 70 40 9500 1344339971 "combobox" "" 0

74 46 60 40 24 1342308359 "button" "Group Box #1" 0

78 58 50 10 50 1342242825 "button" "Radio #1" 0

78 70 50 10 51 1342177289 "button" "Radio #2" 0

138 46 56 40 25 1342308359 "button" "Group Box #2" 0

142 56 48 12 55 1342242819 "button" "Check #1" 0

142 68 48 12 56 1342177283 "button" "Check #2" 0

154 4 40 14 1 1342373889 "button" "OK" 0

154 20 40 14 2 1342373888 "button" "Cancel" 0

END DIALOG

関連項目

Decide, FillEdit, FillList, GetDialogField$, GetMacPath$, Message, MultiDecide, Query$, UserControl, SetDlgCallback, GetDlgItem, GetDlgItemText, SetDlgItemText


DLLCall

説明

DLLLocate または DLLLoadLib 関数で初期化された DLL 関数を呼び出します。

DLL 関数は Windows の関数および/または特別に記述された関数にアクセスするツールとして非常に有効です。

経験豊かな Windows プログラマーにとって財産となることでしょう。

これらの関数を使用する前に、使用方法をよく理解して正しい使い方を心掛けてください。

間違って使用すると、その後で使う Ami Pro や Windows で問題が起こるかもしれません。

構文

DLLCall(DLLId [, Parm1] [, Parm2...])

DLLId は DLLLocate 関数から DLL モジュールの ID として返される番号です。"Lib,Function,Parameters" という文字列のこともあります。

この３つの引数は、DLLLoadLib と DLLLocate に引き渡されます。

この文字列を使う場合には、DLLLoadLib と DLLLocate 関数を使う必要がありません。

Parm1 と Parm2 は関数に渡す引数です。

戻り値

呼び出したモジュールで決定された DLLCall 関数からの戻り値。

例

FUNCTION Example()

Text = Query$("Enter text for window:")'Get ne Title Text

hGetActiveWindow = DLLLocate("User", "GetActiveWindow", "H")

'Find the handle to the DLL

hWnd = DLLCall(hGetActiveWindow)'and get the active window handle

hSetActiveText = DLLLocate("User", "SetWindowText", "IHC")

'Find the handle to the DLL

DLLCall(hSetActiveText, hWnd, Text)'and set the text through the DLL

END FUNCTION

関連項目

DLLLocate, Exec, DLLLoadLib, DLLFreeLib


DLLFreeLib

説明

DLLLoadLib 関数で呼び出したライブラリを解放します。

構文

DLLFreeLib(LibID)

LibID は、DLLLoadLib 関数から返される ID。

戻り値

1 (TRUE) 	DLL が解放されたとき

0 (FALSE) 	DLL が解放されなかったとき

例

FUNCTION Example()

Text = Query$("Enter text for window:")'Get new Title Bar Text

hGetActiveWindow = DLLLoadLib("User", "GetActiveWindow", "H")

'Load DLL into memory

hWnd = DLLCall(hGetActiveWindow)'Call for active window handle

hSetActiveText = DLLLoadLib("User", "SetWindowText", "IHC")

'Load DLL into memory

DLLCall(hSetActiveText, hWnd, Text)'Call to set title bar text

DLLFreeLib(hGetActiveWindow)'Free DLL

DLLFreeLib(hSetActiveText)'Free DLL

END FUNCTION

関連項目

DLLCall, DLLLoadLib, DLLLocate


DLLLoadLib

説明

Dynamic Link Library 関数が使用可能で、メモリにロードされ、従ってそれ以降使用可能であるということを検証するために使います。

すべての DLL 関数がマクロ内で使用できます。すべての Dynamic Link Library がマクロで使えます。

関数がコンパイルされているときには、FAR PASCAL 関数として宣言します。

引数のリストは、関数の戻り値の型を指定する文字を含みます。

１引数あたり１文字が付いた戻り値は関数を呼び出すときに引き渡します。型の文字コードは次のものです。

A - Boolean integer

B - Far pointer to double

C - Far pointer to string

E - Double

H - Unsigned integer

I - Integer

J - Unsigned long integer

L - Far pointer to word(WOED FAR*)

M - Far pointer to array or string(CHAR FAR*FAR*)

N - Far pointer to array or words(WORD FAR*)

O - Far pointer to along(LONG FAR*)

DLL 関数は Windows の関数や特別に記述された関数にアクセスするのに大変有効なツールです。Windows プログラマー向けに提供されます。

これらの関数を使う前に、使い方を十分に理解して正しく使ってください。誤った使い方をすると、その後の Ami Pro や Windows で問題が起こるかもしれません。

構文

DLLLoadLib(Module, Function, Parameters)

Module は、Dynamic Link Library モジュールのファイル名です。

Function は、アクセスする DLL モジュールが含まれている関数の名前です。

Parameters は、プロトタイプ引数の文字列と関数の戻り値コードです。

戻り値

ルーチンが存在して、引数プロトタイプ文字列が正しい場合にはルーチンの ID 番号。

0 (FALSE) 	DLL がロードされなかったか、見つからなかったとき

例

FUNCTION Example()

Text = Query$("Enter text for window:")'Get new Title Bar Text

hGetActiveWindow = DLLLoadLib("User", "GetActiveWindow", "H")

'Load DLL into memory

hWnd = DLLCall(hGetActiveWindow)'Call for active window handle

hSetActiveText = DLLLoadLib("User", "SetWindowText", "IHC")

'Load DLL into memory

DLLCall(hSetActiveText, hWnd, Text)'Call to set title bar text

DLLFreeLib(hGetActiveWindow)'Free DLL

DLLFreeLib(hSetActiveText)'Free DLL

END FUNCTION

関連項目

DLLCall, DLLFreeLib, DLLLocate


DLLLocate

説明

Dynamic Link Library 関数が使用可能かどうか調べ、関数の引数である Ami Pro に情報を渡し、関数が使えるようになるようにタイプを返します。

すべての Dynamic Link Library がマクロで使えます。

関数がコンパイルされているときには、FAR PASCAL 関数として宣言します。

引数のリストは、関数の戻り値の型を指定する文字を含みます。

１引数あたり１文字が付いた戻り値は関数を呼び出すときに引き渡します。

型の文字コードは次のものです。

A - Boolean integre

B - Far pointer to double

C - Far pointer to string

D - Far pointer to byte string(1byte count,followed by the string)

E - Double

F - Far pointer to a 256 byte string

G - Far pointer to a 256 byte string

H - Unsigned integerI-Integer

I - Integer

J - Unsigned long integer

Dynamic Link Library 関数は、DOS および Windows の低いレベルの関数をアクセスする極めて強力なツールです。熟練した Windows プログラマーのために用意されています。

これらの関数を使う前に、どのようにして正しく使うかを知っておいてください。誤って使うと、後に続く Ami Pro や Windows で問題が起こるかもしれません。

構文

DLLLocate(Module, Function, Parameters)

Module は、Dynamic Link Library モジュールのファイル名。

Function は、アクセスする DLL モジュールが含まれている関数の名前。

Parameters は、プロトタイプ引数の文字列と関数の戻り値コード。

戻り値

ルーチンが存在して、引数プロトタイプ文字列が正しい場合にはルーチンの ID 番号。

0 (FALSE) 	DLL モジュールが見つからなかったか、引数文字列が不正のとき。ID はルーチンを実行するために DLLCall 関数で使われます。

例

FUNCTION Example()

Text = Query$("Enter text for window:")'Get ne Title Text

hGetActiveWindow = DLLLocate("User", "GetActiveWindow", "H")

'Find the handle to the DLL

hWnd = DLLCall(hGetActiveWindow)'and get the active window handle

hSetActiveText = DLLLocate("User", "SetWindowText", "IHC")

'Find the handle to the DLL

DLLCall(hSetActiveText, hWnd, Text)'and set the text through the DLL

END FUNCTION

関連項目

DLLCall, Exec, DLLLoadLib, DLLFreeLib


DocInfo

説明

現在の文書の文書情報に新しい値を設定します。

メニューで <ファイル(F) 文書情報(D)> を選ぶことと同じです。Doc Info は、日付や時刻などのシステムに関係する箇所については値を表示するだけで変更することはできません。

構文

DocInfo(Description, Keywords, Flag)

Description は、<説明(D)>の中の説明フィールドの内容を置き換える文字列です。

Keywords は、<キーワード(K)>の中の説明フィールドの内容を置き換える文字列です。

Flag は、<編集禁止(L)> 、 <常に修正記録オン(V)> 、 <枠マクロ実行(R)>の機能を使用可能にしたり、使用不可能にしたりを決定します。次のいずれかの値をとります。

DocResetFlag(0) - <編集禁止(L)> 、 <常に修正記録オン(V)> 、 <枠マクロ実行(R)>のいずれの機能も使用しない状態にします。

DocRunMacro(1) - <枠マクロ実行(R)>の機能を使用可能にします。

DocLock(2) - メモ以外の編集を禁止します。

DocRevLock(4) - <常に修正記録オン(V)>の機能を使用可能にします。

DocLock(2) と DocRevLock(4)の機能は文書が保存されるまで効果がありません。メモの機能が有効なのは、メモの編集、挿入、削除についてです。

Doc Info は、文書情報のダイアログボックスを表示して文書を調査したり、文書に説明を入れたりするためのものです。

戻り値

1 (TRUE) 	新規文書情報フィールドが保存されたとき

0 (UsrCancel) 	関数を取り消したとき

例

FUNCTION Example()

retcd = Replace(0, 0, 0, "Subject:", "")

IF CurShade$() != ""

TYPE("[Right][CtrlShiftDown]")

De = CurShade$()

ENDIF

TYPE("[ctrlhome]")

Replace(0, 0, 0, "To:", "")

IF CurShade$() != ""

TYPE("[Right][CtrlShiftDown]")

Keywords = CurShade$()

ENDIF

Flag = 0

retcd = DocInfo(De, Keywords, Flag)

END FUNCTION

関連項目

RenameDocInfoField, GetDocInfo$, InsertDocInfo, DocInfoFields, InsertDocInfoField


DocInfoFields

説明

メニューで <ファイル(F) 文書情報(D) 他のフィールド(O)> を選ぶことと同じです。

<説明(D)> 、 <キーワード(K)>の中など、編集可能な説明部分についてのフィールドの内容を置き換えます。

構文

DocInfoFields(field1, field2, field3, field4, field5, field6,field7,field8)

Field1 は、文書情報フィールド１の内容を置き換える文字列。

Field2 は、文書情報フィールド２の内容を置き換える文字列。

Field3 は、文書情報フィールド３の内容を置き換える文字列。

Field4 は、文書情報フィールド４の内容を置き換える文字列。

Field5 は、文書情報フィールド５の内容を置き換える文字列。

Field6 は、文書情報フィールド６の内容を置き換える文字列。

Field7 は、文書情報フィールド７の内容を置き換える文字列。

Field8 は、文書情報フィールド８の内容を置き換える文字列。

戻り値

1 (TRUE) 	文書情報フィールドが変更されたとき

0 (UserCancel) 	関数を取り消したとき

-2 (GeneralFailure) 	文書情報フィールドが変更されなかったとき

例

FUNCTION Example()

Replace(0, 0, 0, "To:", "")

IF "" != CurShade$()

TYPE("[Right][CtrlShiftDown]")

Data = CurShade$()

ELSE

Data = Query$("Please enter data, separated by commas:")

ENDIF

DIM Field(8)

FOR I = 1 to 8

Field(I) = strfield$(Data, I, ",")

NEXT

DocInfoFields(Field(1), Field(2), Field(3), Field(4), Field(5), Field(6), Field(7), Field(8))

END FUNCTION

関連項目

RenameDocInfoField, GetDocInfo$, InsertDocInfo, InsertDocInfoField, DocInfo


DocumentCompare

説明

2つの文書を比較します。

メニューで <ツール(L) 文書比較(P)> を選ぶことと同じです。

構文

DocumentCompare(Filename)

Filename は、比較するファイル名です。ファイルがカレントディレクトリまたは文書ディレクトリにない場合は、ファイル名にフルパスを指定します。

戻り値

1 (TRUE) 	文書が比較されたとき

0 (UserCancel) 	関数を取り消したとき

-2 (GeneralFailure) 	文書が比較されなかったまたはなにかエラーが起こったとき

例

FUNCTION Example()

Filename1 = Query$("Please enter the name of the first document (Enter for current):")

Filename2 = Query$("Please enter the name of the second document:")

IF Filename1 != ""

FileOpen(Filename1, 1, "")

ENDIF

DocumentCompare(Filename2)

END FUNCTION

関連項目

RevisionMarking, RevisionMarkOpts


DOSchdir

説明

与えられた引数を,DOS 上のカレントディレクトリにします。ドライブは変更しません。

構文

DOSchdir(Dir)

Dir は、カレントディレクトリにするパス名。

戻り値

0 	ディレクトリが変更されたとき

ｰ1 	ディレクトリが変更されなかったか、存在しなかったとき

例

FUNCTION Example()

Dir = Query$("What directory do you want to change to?")

IF -1 = DOSchdir(Dir)

Message("Could not change to {Dir}")

ENDIF

NewDir = GetCurrentDir$()

Message("The current directory reported by DOS is: {NewDir}")

END FUNCTION

関連項目

Doschdir, DosRename, DosCopyFile, DosDelFile, DosGetFileAttr, Dosmkdir, DosGetEnv$, DosSetFileAttr, Dosrmdir, FileManagement


DOSCopyFile

説明

ファイルを複写します。

構文

DOSCopyFile(Oldfile,Newfile)

Oldfile は、複写元のファイル名でカレントディレクトリにないときは、フルパスを指定します。

Newfile は、複写先のファイル名でカレントディレクトリ以外に作るときは、フルパスを指定します。

戻り値

1 (TRUE) 	ファイルが複写されたとき

0 (FALSE) 	複写されなかったとき

例

FUNCTION Example()

Filename = Query$("What file (with path) do you want to perform an action on?")

IF Decide("Do you want to Copy {Filename}?")

Filename2 = Query$("What file do you want to copy {Filename} to?")

IF 0 = DOSCopyFile(Filename, Filename2)

Message("Could not copy {Filename} to {Filename2}")

ENDIF

ELSEIF Decide("Do you want to Rename {Filename}?")

Filename2 = Query$("What is the new name for {Filename}?")

IF 0 != DOSRename(Filename, Filename2)

Message("Could not rename {Filename} as {Filename2}")

ENDIF

ELSEIF Decide("Do you want to Delete {Filename}?")

IF Decide("Are you SURE you want to Delete {Filename}?")

IF -1 = DOSDelFile(Filename)

Message("Could not delete {Filename}")

ENDIF

ENDIF

ENDIF

END FUNCTION

関連項目

DosRename, DosDelFile, DosGetFileAttr, Dosmkdir, Doschdir, DosGetEnv$, DosSetFileAttr, Dosrmdir, FileManagement


DOSDelFile

説明

ファイルを削除します。

構文

DOSDelFile(Filename)

Filename は、削除するファイル名です。カレントディレクトリにないときは、フルパスを指定します。

戻り値

0 	ファイルが削除されたとき

-1 	削除されなかったとき

例

FUNCTION Example()

Filename = Query$("What file (with path) do you want to perform an action on?")

IF Decide("Do you want to Copy {Filename}?")

Filename2 = Query$("What file do you want to copy {Filename} to?")

IF 0 = DOSCopyFile(Filename, Filename2)

Message("Could not copy {Filename} to {Filename2}")

ENDIF

ELSEIF Decide("Do you want to Rename {Filename}?")

Filename2 = Query$("What is the new name for {Filename}?")

IF 0 != DOSRename(Filename, Filename2)

Message("Could not rename {Filename} as {Filename2}")

ENDIF

ELSEIF Decide("Do you want to Delete {Filename}?")

IF Decide("Are you SURE you want to Delete {Filename}?")

IF -1 = DOSDelFile(Filename)

Message("Could not delete {Filename}")

ENDIF

ENDIF

ENDIF

END FUNCTION

関連項目

DosRename, DosCopyFile, DosGetFileAttr, Dosmkdir, Doschdir, DosGetEnv$, DosSetFileAttr, Dosrmdir, FileManagement


DOSGetEnv
DOSGetEnv$

説明

引き渡された変数について DOS 環境を検索します。

構文

DOSGetEnv$(Environmentvar)

Environmentvar は、検索する環境変数の名前です。

戻り値

変数が見つかれば、式の右辺。変数が見つからなければ、空文字列「""」。

例

FUNCTION Example()

Env = Query$("What environment variable do you want to retrieve?")

Var = DOSGetEnv$(Env)

IF VAR != ""

Message("The value of the environment variable ""{Env}"" is ""{Var}"".")

ELSE

Message("The environment variable ""{Env}"" was not found, or is empty.")

ENDIF

END FUNCTION

関連項目

DosRename, DosCopyFile, DosDelFile, DosGetFileAttr, Dosmkdir, Doschdir, DosSetFileAttr, Dosrmdir, FileManagement


DOSGetFileAttr

説明

指定されたファイルの属性を返します。

構文

DOSGetFileAttr(Filename)

Filename は、属性を調べるファイル名。カレントディレクトリにない場合はフルパスを指定します。

戻り値

指定されたファイルの属性に対応するビット番号。

ファイル属性のビット値は次のとおりです。

1-Read Only

2-Hidden

4-System

8-Volume ID

16-Subdirectory

32-Archive

ファイルの属性が複数個セットされている時には、これらのビット値が加算されます。抽出するには、バイナリ演算 OR(|) か AND(&) を使います。

-1 属性が見つからなかったとき

例

FUNCTION Example()

Filename = Query$("属性を変更したいファイルのファイル名をフルパスで入力してください")

Attributes = DOSGetFileAttr(Filename)

IF Attributes != -1

IF (Attributes & 1)

ReadOnly = TRUE

ENDIF

IF (Attributes & 2)

Hidden = TRUE

ENDIF

IF (Attributes & 4)

System = TRUE

ENDIF

IF (Attributes & 32)

Archive = TRUE

ENDIF

FillEdit(8000, Filename)

FillEdit(20, ReadOnly)

FillEdit(21, Hidden)

FillEdit(22, System)

FillEdit(23, Archive)

Box = DialogBox(".", "DLG")

IF Box = -1

Message("Could not open dialog box; Exiting macro.")

EXIT FUNCTION

ELSEIF Box = 0

EXIT FUNCTION

ENDIF

ReadOnly2 = GetDialogField$(20)

Hidden2 = GetDialogField$(21) * 2

System2 = GetDialogField$(22) * 4

Archive2 = GetDialogField$(23) * 32

NewAttributes = ReadOnly2 + Hidden2 + System2 + Archive2

DOSSetFileAttr(Filename, NewAttributes)

ELSE

Message("Could not find {Filename}")

ENDIF

END FUNCTION

DIALOG DLG

-2134376448 9 38 24 116 80 "" "" "ファイル属性"

FONT 14 "System"

70 46 40 12 1 1342242817 "button" "了解" 0

70 62 40 12 2 1342242816 "button" "取消" 0

40 5 68 10 8000 1342177280 "static" "text" 0

4 5 32 10 1001 1342177280 "static" "ﾌｧｲﾙ名:" 0

8 27 50 10 20 1342242819 "button" "Read-Only" 0

8 39 50 8 21 1342242819 "button" "Hidden" 0

8 50 50 8 22 1342242819 "button" "System" 0

8 62 50 8 23 1342242819 "button" "Archive" 0

4 16 60 60 24 1342242823 "button" "ファイル属性" 0

END DIALOG

関連項目

DosRename, DosCopyFile, DosDelFile, Dosmkdir, Doschdir, DosGetEnv$, DosSetFileAttr, Dosrmdir, FileManagement


DOSmkdir

説明

ディレクトリを作成します。

構文

DOSmkdir(Dir)

Dir は、作成するディレクトリ名です。

戻り値

0 	ディレクトリが作られたとき

-1 	ディレクトリが作られなかったとき

例

FUNCTION Example()

Dir = Query$("What is the name of the new directory?")

IF -1 = DOSmkdir(Dir)

Message("Could not create directory {Dir}")

ELSE

Message("Directory {Dir} created.")

ENDIF

END FUNCTION

関連項目

DosRename, DosCopyFile, DosDelFile, DosGetFileAttr, Doschdir, DosGetEnv$, DosSetFileAttr, Dosrmdir, FileManagement


DOSRename

説明

ファイル名を変更します。

構文

DOSRenameFile(Oldname, Newname)

Oldname は、変更される前のファイル名です。カレントディレクトリにない場合はフルパスを指定します。

Newname は、変更後のファイル名です。カレントディレクトリに置くのでなければ、フルパスを指定します。

変更前のファイルとして指定するファイルは指定されたディレクトリに存在しなければなりません。

戻り値

0 ファイル名が変更された。

ファイル名が変更されなかったか指定された新規ファイル名がすでに存在していた場合には０以外の数字クトリィが作られなかった。

例

FUNCTION Example()

Filename = Query$("What file (with path) do you want to perform an action on?")

IF Decide("Do you want to Copy {Filename}?")

Filename2 = Query$("What file do you want to copy {Filename} to?")

IF 0 = DOSCopyFile(Filename, Filename2)

Message("Could not copy {Filename} to {Filename2}")

ENDIF

ELSEIF Decide("Do you want to Rename {Filename}?")

Filename2 = Query$("What is the new name for {Filename}?")

IF 0 != DOSRename(Filename, Filename2)

Message("Could not rename {Filename} as {Filename2}")

ENDIF

ELSEIF Decide("Do you want to Delete {Filename}?")

IF Decide("Are you SURE you want to Delete {Filename}?")

IF -1 = DOSDelFile(Filename)

Message("Could not delete {Filename}")

ENDIF

ENDIF

ENDIF

END FUNCTION

関連項目

DosCopyFile, DosDelFile, DosGetFileAttr, Dosmkdir, Doschdir, DosGetEnv$, DosSetFileAttr, Dosrmdir, FileManagement


DOSrmdir

説明

ディレクトリを削除します。

構文

DOSrmdir(Directory)

Directory は、削除するディレクトリ名です。

ディレクトリは、空でなければなりません。また、カレントディレクトリとルートディレクトリは削除できません。

戻り値

0 	ディレクトリが削除されたとき

-1 	ディレクトリが削除できなかったとき

例

FUNCTION Example()

Dir = Query$("What is the name of the directory you want to delete?")

IF Decide("Are you SURE you want to delete {Dir}?")

IF -1 = DOSrmdir(Dir)

Message("Could not remove {Dir}.  The directory may not be empty.")

ELSE

Message("The directory {Dir} has been removed.")

ENDIF

ENDIF

END FUNCTION

関連項目

DosRename, DosCopyFile, DosDelFile, DosGetFileAttr, Dosmkdir, Doschdir, DosGetEnv$, DosSetFileAttr, FileManagement


DOSSetFileAttr

説明

ファイルに属性ビットを設定します。

構文

DOSSetFileAttr(Filename, Attr)

Filename は、属性ビットをセットするファイル名。カレントディレクトリにない場合はフルパスを指定します。

Attr は、セットする属性の番号。

ビット値は次のとおりです。

1-Read Only

2-Hidden

4-System

8-Volume ID

16-Subdirectory

32-Archive

複数の属性をセットするには、該当するビット値を合計します。

戻り値

0 	属性が設定できたとき

例

FUNCTION Example()

Filename = Query$("属性を変更したいファイルのファイル名をフルパスで入力してください")

Attributes = DOSGetFileAttr(Filename)

IF Attributes != -1

IF (Attributes & 1)

ReadOnly = TRUE

ENDIF

IF (Attributes & 2)

Hidden = TRUE

ENDIF

IF (Attributes & 4)

System = TRUE

ENDIF

IF (Attributes & 32)

Archive = TRUE

ENDIF

FillEdit(8000, Filename)

FillEdit(20, ReadOnly)

FillEdit(21, Hidden)

FillEdit(22, System)

FillEdit(23, Archive)

Box = DialogBox(".", "DLG")

IF Box = -1

Message("Could not open dialog box; Exiting macro.")

EXIT FUNCTION

ELSEIF Box = 0

EXIT FUNCTION

ENDIF

ReadOnly2 = GetDialogField$(20)

Hidden2 = GetDialogField$(21) * 2

System2 = GetDialogField$(22) * 4

Archive2 = GetDialogField$(23) * 32

NewAttributes = ReadOnly2 + Hidden2 + System2 + Archive2

DOSSetFileAttr(Filename, NewAttributes)

ELSE

Message("Could not find {Filename}")

ENDIF

END FUNCTION

DIALOG DLG

-2134376448 9 38 24 116 80 "" "" "ファイル属性"

FONT 14 "System"

70 46 40 12 1 1342242817 "button" "了解" 0

70 62 40 12 2 1342242816 "button" "取消" 0

40 5 68 10 8000 1342177280 "static" "text" 0

4 5 32 10 1001 1342177280 "static" "ﾌｧｲﾙ名:" 0

8 27 50 10 20 1342242819 "button" "Read-Only" 0

8 39 50 8 21 1342242819 "button" "Hidden" 0

8 50 50 8 22 1342242819 "button" "System" 0

8 62 50 8 23 1342242819 "button" "Archive" 0

4 16 60 60 24 1342242823 "button" "ファイル属性" 0

END DIALOG

関連項目

DosRename, DosCopyFile, DosDelFile, DosGetFileAttr, Dosmkdir, Doschdir, DosGetEnv$, Dosrmdir, FileManagement


DraftMode

説明

Ami Pro の現在のアクティブ MDI ドキュメントを、レイアウトモードまたはアウトラインモードからドラフトモードに変更します。

メニューから <表示(V) ドラフトモード(D)> を選ぶことと同じです。

構文

DraftMode()

戻り値

1 (TRUE) 	View Mode を変更したとき

0 (NoAction) 	文書がすでにドラフトモードであるため、何も起こらなかったとき

例

FUNCTION Example()

unit=1440 * 0.3937'Twips / cm

Mode = GetMode()'What mode is the screen in?

IF Mode != 1

LayoutMode()'If not Layout Mode, make it so.

ENDIF

IF Decide("現在のカーソル位置に”枠”を作成してもいいですか？")

'Give user Yes or No Dialog Box

Position = CursorPosition$()'Get current cursor prosition, in twips

X = strfield$(Position, 1, ",")'Parse out the X coordinate

Y = strfield$(Position, 2, ",")'Parse out the Y coordinate

X2 = X + (Query$("幅は何cmにしますか？") * unit)

'Compute Length of box

Y2 = Y + (Query$("高さは何cmにしますか", "1") * (unit * -1))

'Compute height of box

AddFrame(X, Y, X2, Y2)'Add the frame, using current defaults

ELSE

AddFrameDLG'Display Add Frame dialog box.

ENDIF

IF Mode = 48

type("[CtrlHome]")

OutlineMode()

ELSEIF Mode = 16

type("[CtrlHome]")

DraftMode()

ENDIF

END FUNCTION

関連項目

EnlargedView, FacingView, FullPageView, GetMode, GetViewLevel, LayoutMode, OutlineMode, StandardView


DrawingMode

説明

画面上に作図メニューとアイコンバーを呼び出して作図機能を始動します。

メニューから <ツール(L) 作図(D)> を選ぶことと同じです。

構文

DrawingMode()

戻り値

1 (TRUE) 	作図モードにしたとき

-2(GeneralFailure) 	作図モードにできなかったとき

例

FUNCTION Example()

LayoutMode()

IF not IsFrameSelected()

Pos = CursorPosition$()

x = strfield$(Pos, 1, ",")

y = strfield$(Pos, 2, ",")

AddFrame(x, y, (x + 1440), (y - 1440))

ENDIF

DrawingMode()

END FUNCTION

関連項目

ChartingMode, AddFrame, AddFrameDlg, GraphicsScaling


EditFormula

説明

式を編集するためのダイアログボックスを表示します。メニューで <表(B) 式編集(F)> を選ぶことと同じです。マクロがセルに自動的に式を入れるようにするものではありません。自動的に式を入れるには、SetFormula 関数を使ってください。

構文

EditFormula

戻り値

なし

例

FUNCTION Example()

OnKey([ctrlalte], EditFormula, 0)

Message("Press Ctrl+Alt+E to edit the formula in a table cell")

END FUNCTION

関連項目

SetFormula


ElevatorLeftRight

説明

キー記録マクロでのみ使えます。この関数の引数は Windows で作成され、値のリストからは選べません。

この関数では、カーソル位置を変えずに、ファイル内の新しい位置に文書をスクロールします。

これは、マウスを使って水平スクロールバーのスクロールボックスを引っぱることと同じです。

構文

ElevatorLeftRight()

戻り値

なし

関連項目

CharLeft, CharRight, ElevatorUpdown, EndOfFile, LeftEdge, LineDown, LineUp, RightEdge, ScreenDown, ScreenLeft, ScreenRight, ScreenUp, TopOfFile


ElevatorUpDown

説明

簡易記録マクロでのみ使えます。この関数の引数は Windows で作成され、値のリストからは選べません。

この関数では、カーソル位置を変えずに、ファイル内の新しい位置に文書をスクロールします。

これは、マウスを使って上下スクロールバーのスクロールボックスを引っぱることと同じです。

構文

ElevatorUpDown()

戻り値

なし

関連項目

CharLeft, CharRight, ElevatorLeftRight, EndOfFile, LeftEdge, LineDown, LineUp, RightEdge, ScreenDown, ScreenLeft, ScreenRight, ScreenUp, TopOfFile


EndOfFile

説明

カーソル位置を動かさずに、文書を末尾までスクロールします。マウスを使って上下スクロールバーのスクロールボックスを一番端のボタンまで引っぱることと同じです。

構文

EndOfFile()

戻り値

0

例

FUNCTION Example()

Again:

Action = Query$("どこを表示しますか T:先頭頁 E:最終頁?")

Action = UCASE$(Left$(Action, 1))

SWITCH Action

 CASE "T"

  TopOfFile()

 CASE "E"

  EndOfFile()

 default

  Message("""T"" 又は ""E"" を指定してください")

  goto Again

ENDSWITCH

END FUNCTION

関連項目

CharLeft, CharRight, LeftEdge, LineDown, LineUp, RightEdge, ScreenDown, ScreenLeft, ScreenRight, ScreenUp, TopOfFile


EnlargedView

説明

現在の表示レベルを拡大表示にします。

メニューで <表示(V) 拡大サイズ(E)> を選ぶことと同じです。

構文

EnlargedView()

戻り値

1

例

FUNCTION Example()

Again:

View = Query$("ﾋﾞｭｰﾓｰﾄﾞ選択:(E)拡大ｻｲｽﾞ,(F)ﾍﾟｰｼﾞ全体,(A)見開き,(S)標準ｻｲｽﾞ,(W)指定ｻｲｽﾞ")

View = UCASE$(Left$(View, 1))

SWITCH View

CASE "E"

EnlargedView()

CASE "F"

FullPageView()

CASE "A"

FacingView()

CASE "S"

StandardView()

CASE "W"

WorkingView()

default

Message("""E"", ""F"", ""S"", or ""W""を入力してください")

GoTo again

ENDSWITCH

END FUNCTION

関連項目

FacingView, FullPageView, GetViewLevel, LayoutMode, StandardView, WorkingView


EvalField

説明

変数を評価するために、フィールドマネージャに引き渡し、結果を返します。

構文

EvalField(Field)

Field は、評価する Ami Pro 変数。

戻り値

指定された Ami Pro 変数の結果。

例

FUNCTION Example()

NumberOfPages = EvalField("NumPages")

IF NumberOfPages > 1

Adv = "are"

s = "s"

ELSE

Adv = "is"

s = ""

ENDIF

Message("There {Adv} {NumberOfPages} page{s} in this document.")

END FUNCTION

関連項目

FieldAdd, FieldAuto, FieldCommand, FieldEvaluate, FieldLock, FieldNext/FieldPrev, FieldRemove, FieldToggleDisplay, FieldUpdate, FieldUpdateAll


Exec

説明

プログラムを実行します。新しいプログラムを開始するには Microsoft Windows を使用します。MS-DOS の実行やプログラムマネージャメニューで実行を選ぶことと同じです。

構文

Exec(Program CmdLine[,Show])

Program は、実行するプログラム名で、拡張子も含めて指定します。

目的のプログラムが引数を持つ場合には、CmdLine に入れます。

実行するファイルがパス上にない場合にはパスも指定します。

プログラムに引数がない場合は、スペースを必ず入れます。

Show は、(ウィンドウアプリケーションであれば）ウィンドウに表示される状態に対応する番号で次のいずれかです。

0 - Exec hidden

1 - Exec and show the window normally

2 - Exec the program minimized

3 - Exec the program maxmized

4 - Exec normally,but do not make active

5 - Exec normally

6 - Exec program monimized in background

7 - Exec the program minimized and do not active it

8 - Execs the program and displays it normally

9 - Execs the program and display it restored

戻り値

プログラムが実行されたときには、32以上の正数。

例

FUNCTION Example()

id = DDEInitiate("123W", "Untitled")

IF id = 0

Exec("C:\123W\123W.EXE", 1)

FOR I = 1 to 10

id = DDEInitiate("123W", "Untitled")

IF id > 0

OK = TRUE

BREAK

ENDIF

NEXT

IF not OK

Message("Could not initiate a conversation with 1-2-3!")

EXIT FUNCTION

ENDIF

ENDIF

Principal = Query$("What is the principal of the loan?")

Interest = Query$("What is the annual interest rate (12% = .12)?") / 12

Term = Query$("What is the term in months?")

IF Interest > 1

Interest = Interest / 100

ELSEIF Right$(Interest, 1) = "%"

Interest = Left$(Interest, (Len(Interest) - 1)) / 100

ENDIF

DDEExecute(id, "[[RUN(""+ PMT({Principal},{Interest},{Term})~"")]")

Value = DDEReceive$(id, "A1")

DDETerminate(id)

Message(Value)

END FUNCTION

関連項目

ActivateApp, DDEExecute, DDEInitiate, GetMacPath$, Appclose, AppGetAppCount, AppGetAppNames, AppGetWindowPos, AppHide, AppIsRunning, AppMaximize, AppMinimize, AppMove, AppRestore, AppSendMessage, AppSize


FacingView

説明

現在の表示レベルを「見開き」に変更します。

メニューで <表示(V) 見開き(A)> を選ぶことと同じです。レイアウトモードの状態で使います。

構文

FacingView()

戻り値

1

例

FUNCTION Example()

Again:

View = Query$("ﾋﾞｭｰﾓｰﾄﾞ選択:(E)拡大ｻｲｽﾞ,(F)ﾍﾟｰｼﾞ全体,(A)見開き,(S)標準ｻｲｽﾞ,(W)指定ｻｲｽﾞ")

View = UCASE$(Left$(View, 1))

SWITCH View

CASE "E"

EnlargedView()

CASE "F"

FullPageView()

CASE "A"

FacingView()

CASE "S"

StandardView()

CASE "W"

WorkingView()

default

Message("""E"", ""F"", ""S"", or ""W""を入力してください")

GoTo again

ENDSWITCH

END FUNCTION

関連項目

EnlargedView, FullPageView, GetViewLevel, LayoutMode, StandardView, WorkingView


fclose

説明

fopen 関数でオープンされていたテキストファイルをクローズします。

マクロで作成されたすべてのファイルはクローズされないと、何が起こるか保証できません。

テキストファイルの関数を使う時には、続けて実行するテキストファイルの関数の前にファイルが正常にオープンできていることを確認してください。

fopen 関数が要求したファイルをオープンできないと、マクロでファイルの読み書きをしようとした時に何が起こるか予想できません。

構文

fclose(Handle)

Handle は、クローズするファイルハンドルです。

戻り値

なし

例

FUNCTION Example()

ONERROR toast

ONCANCEL toast

DEFSTR id, Line;

WinDir = GetWindowsDirectory$()

IF 0 != Assign(&id, fopen("{WinDir}PRINTERS.TXT", "r"))

New("~BASIC.STY", 0, 0)

WHILE -1 != Assign(&Line, fgets$(id))

TYPE("{Line}[Enter]")

WEND

toast:

fclose(id)

ELSE

Message("Could not open {WinDir}PRINTERS.TXT!")

ENDIF

END FUNCTION

関連項目

fgets$, fopen, fputs, fseek, ftell, fwrite, fread


fgets
fgets$

説明

fopen でオープンされているファイルの文字データの１行を読み込みます。

文字データはファイルのカレントポインタ位置から読み込まれます。

文字行が読まれる場合、関数で返される前に復帰/改行は行の最後から除かれます。

テキストファイルの関数を使う時には、続けて実行するテキストファイルの関数の前にファイルが正常にオープンできていることを確認してください。

fopen 関数が要求したファイルをオープンできないと、マクロでファイルの読み書きをしようとした時に何が起きるか予想できません。

構文

fgets$(Handle)

Handle は、fopen 関数で返されたファイルのファイルハンドルです。

戻り値

ファイルポインタが eof ではないときには１行分の文字列。

-1 	ファイルポインタが eof のとき

例

FUNCTION Example()

ONERROR toast

ONCANCEL toast

DEFSTR id, Line;

WinDir = GetWindowsDirectory$()

IF 0 != Assign(&id, fopen("{WinDir}PRINTERS.TXT", "r"))

New("~BASIC.STY", 0, 0)

WHILE -1 != Assign(&Line, fgets$(id))

TYPE("{Line}[Enter]")

WEND

toast:

fclose(id)

ELSE

Message("Could not open {WinDir}PRINTERS.TXT!")

ENDIF

END FUNCTION

関連項目

fclose, fopen, fputs, fseek, ftell, fwrite, fread


FieldAdd

説明

パワーフィールドを追加します。メニューで <編集(E) パワーフィールド(F) 挿入(I)> を選ぶことと同じです。

構文

FieldAdd(Field)

Field は、追加するパワーフィールド名

戻り値

パワーフィールドが追加されたときには、新しい ID

-2 (GeneralFailure) 	パワーフィールドが追加されなかったとき

例

FUNCTION Example()

id = FieldAdd("NumPages")

both = FieldPrev()

id = MOD(both, 0x10000)

type = Round(both/0x10000)

FieldUpdate(id, type, "NumPages")

END FUNCTION

関連項目

FieldAuto, FieldCommand, FieldEvalutate, FieldLock, FieldNext/FieldPrev, FieldRemove, FieldToggleDisplay, FieldUpdate, FieldUpdateAll


FieldAuto

説明

パワーフィールドに関する自動更新ビットをセットまたはクリアします。

メニューで <編集(E) パワーフィールド(F) 挿入(I) 自動実行(A)> を選ぶことと同じです。

構文

FieldAuto(ID, Auto)

ID は、変更するパワーフィールドの ID。

Auto は、項目を更新するビット値で、1 (ON) または 0 (Off)。

戻り値

1 (TRUE) 	ビット値がセットまたはクリアされたとき

0 (NoAction) 	何も起こらなかったとき

例

FUNCTION Example()

FieldCommand()

both = FieldPrev

id = MOD(both, 0x10000)

type = Round (both/0x10000)

FieldAuto(id, 1)

FieldLock(id, 1)

END FUNCTION

関連項目

FieldAdd, FieldCommand, FieldEvalutate, FieldLock, FieldNext/FieldPrev, FieldRemove, FieldToggleDisplay, FieldUpdate, FieldUpdateAll


FieldCommand

説明

パワーフィールドの命令をダイアログボックスに持込みます。

メニューで <編集(E) パワーフィールド(F) 挿入(I)> を選ぶことと同じです。

構文

FieldCommand()

戻り値

なし

例

FUNCTION Example()

FieldCommand()

both = FieldPrev

id = MOD(both, 0x10000)

type = Round (both/0x10000)

FieldAuto(id, 1)

FieldLock(id, 1)

END FUNCTION

関連項目

FieldAdd, FieldAuto, FieldEvalutate, FieldLock, FieldNext/FieldPrev, FieldRemove, FieldToggleDisplay, FieldUpdate, FieldUpdateAll


FieldEvaluate

説明

現在の挿入点にあるフィールドを更新します。メニューで <編集(E) パワーフィールド(F)更新(U)> を選ぶことと同じです。

構文

FieldEvaluate()

戻り値

1 (TRUE) 	フィールドが更新されたとき

0 (FALSE) 	フィールドが更新されなかったとき

例

FUNCTION Example()

FieldNext()

FieldEvaluate()

END FUNCTION

関連項目

FieldAdd, FieldAuto, FieldCommand, FieldLock, FieldNext/FieldPrev, FieldRemove, FieldToggleDisplay, FieldUpdate, FieldUpdateAll


FieldLock

説明

パワーフィールドに関するロックビットをセットまたはクリアします。メニューで <編集(E) パワーフィールド(F) 挿入(I) 固定(L)> を選ぶことと同じです。

構文

FieldLock(ID, Lock)

ID は、変更するパワーフィールドの ID。

Lock は、フィールドのロックビットで、１ (On) または０ (Off)。

戻り値

なし

例

FUNCTION Example()

FieldCommand()

both = FieldPrev

id = MOD(both, 0x10000)

type = Round (both/0x10000)

FieldAuto(id, 1)

FieldLock(id, 1)

END FUNCTION

関連項目

FieldAdd, FieldAuto, FieldCommand, FieldEvaluate, FieldNext/FieldPrev, FieldRemove, FieldToggleDisplay, FieldUpdate, FieldUpdateAll


FieldNext
FieldNext / FieldPrev

説明

前のパワーフィールドに戻すかまたは次のパワーフィールドに移ります。メニューで <編集(E) パワーフィールド(F) 次パワーフィールド(N)> あるいは <編集(E) パワーフィールド(F) 前パワーフィールド(P)> を選ぶことと同じです。

構文

FieldNext()

FieldPrev()

戻り値

ビット番号における次パワーフィールド／前パワーフィールド ID と型。

ID と型を取りだすには、both=FieldNext() または both=FieldPrev()。

ID=Mod(both,0x10000)

Type=Round(both/0x10000)

0 (NoAction) 	何も実行されなかったとき

例

FUNCTION Example()

FieldCommand()

both = FieldPrev

id = MOD(both, 0x10000)

type = Round (both/0x10000)

FieldAuto(id, 1)

FieldLock(id, 1)

END FUNCTION

関連項目

FieldAdd, FieldAuto, FieldCommand, FieldEvaluate, FieldLock, FieldRemove, FieldToggleDisplay, FieldUpdate, FieldUpdateAll


FieldRemove

説明

ID Number で指定されるパワーフィールドを取り除きます。

構文

FieldRemove(ID, 8)

ID は、パワーフィールドを識別する。FieldNext または FieldPrev 関数を使って得られることもある。８は、取り除く関数のエントリ番号。

戻り値

1

例

FUNCTION Example()

Both=FieldNext()

ID=MOD(Both,0x100000)

FieldRemove(ID,8)

END FUNCTION

関連項目

FieldAdd, FieldAuto, FieldCommand, FieldEvaluate, FieldLock, FieldNext/FieldPrev, FieldToggleDisplay, FieldUpdate, FieldUpdateAll


FieldToggleDsplay
FieldToggleDisplay

説明

フィールド表示のオンオフを切り換えます。メニューで <表示(V) パワーフィールド表示(I)> あるいは <表示(V) パワーフィールド非表示(I)> を選ぶことと同じです。

構文

FieldToggleDisplay()

戻り値

1

例

FUNCTION Example()

UserControl("Click on Resume to show power fields.")

FieldToggleDisplay()

UserControl("Click on Resume to update all power fields.")

FieldToggleDisplay()

FieldUpdateAll()

END FUNCTION

関連項目

FieldAdd, FieldAuto, FieldCommand, FieldEvaluate, FieldLock, FieldNext/FieldPrev, FieldRemove, FieldUpdate, FieldUpdateAll


FieldUpdate

説明

存在するパワーフィールドを更新します。

メニューで <編集(E) パワーフィールド(F) 更新(U)> を選ぶことと同じです。

構文

FieldUpdate(ID, Type, Field)

ID は、更新するフィールドの ID 番号

Type は、更新するフィールドの型

Field は、更新するフィールドの名前

戻り値

1 (TRUE) 	パワーフィールドが更新されたとき

-7 (NoFind) 	パワーフィールドが存在しなかったとき

例

FUNCTION Example()

id = FieldAdd("NumPages")

both = FieldPrev()

id = MOD(both, 0x10000)

type = Round(both/0x10000)

FieldUpdate(id, type, "NumPages")

END FUNCTION

関連項目

FieldAdd, FieldAuto, FieldCommand, FieldEvaluate, FieldLock, FieldNext/FieldPrev, FieldRemove, FieldToggleDisplay, FieldUpdateAll


FieldUpdateAll

説明

カレント文書のすべてのフィールドを更新します。メニューで <編集(E) パワーフィールド(F) 全体更新(A)> を選ぶことと同じです。

構文

FieldUpdateAll()

戻り値

1 (TRUE) 	すべてのフィールドが更新できたとき

例

FUNCTION Example()

UserControl("Click on Resume to show power fields.")

FieldToggleDisplay()

UserControl("Click on Resume to update all power fields.")

FieldToggleDisplay()

FieldUpdateAll()

END FUNCTION

関連項目

FieldAdd, FieldAuto, FieldCommand, FieldEvaluate, FieldLock, FieldNext/FieldPrev, FieldRemove, FieldToggleDisplay, FieldUpdate


FileChanged

説明

ファイル変更フラグを読み取り、内部的に Ami Pro に対してオプションを設定します。

ファイル変更フラグは Ami Pro がユーザーに新規文書の表示やプログラムの終了の前に、文書を保存するかどうかを尋ねるためのものです。

構文

FileChanged(Action, NewValue)

Action は、ファイル変更フラグを読むのか設定するのかを決めます。

Action が 1 (TRUE) のとき、フラグの状態は２番目の引数の値に変更されます。

Action 引数が 0 (FALSE) のとき、引数は変更されずに２番目の引数は無視されます。

NewValue は、ファイル変更フラグとして使われる値で 1 (changed) か 0 (not changed) です。

戻り値

0 以外の数値	この関数が使われる前にファイルが変更されていたとき

0 (FALSE)	ファイルが変更されていなかったとき

ファイル変更引数値の変更は、次の関数が呼ばれるまで関数の戻り値に影響しません。

例

FUNCTION Example()

WHILE CurShade$() = ""

UserControl("Select the text to print and click on Resume...")

WEND

Copy()

New("~ENVELOP.STY", 1, 0)

Paste()

FilePrint(1, 1, 9999, 1537)

FileChanged(1, 0)

FileClose()

END FUNCTION

関連項目

FileOpen, Save, SaveAs, FilePrint, FileClose


FileClose

説明

MDI ウィンドウをクローズします。

メニューで <ファイル(F) クローズ(C)> を選ぶことと同じです。

構文

FileClose()

戻り値

1 (TRUE) 	ファイルのクローズに成功したとき

0 	ファイルがクローズされなかったとき

例

FUNCTION Example2()

AnswerMsgBox(No)'Answer the next message box "NO"

FileClose()'Close the current file.

END FUNCTION

関連項目

FileOpen, FileChanged, FilePrint, Save, SaveAs


FileManagement

説明

Ami Pro ファイルマネージャを実行します。

メニューで <ファイル(F) ファイル管理(F)> を選ぶことと同じです。FileManagement 関数はこのマクロで直接実行するのではありません。まず File Management ウィンドウを開き、すぐに制御をマクロに返します。ユーザーは FileManagement 関数を使ったあとでウィンドウをクローズし、元の Ami Pro 画面に戻ります。あとに続くマクロ関数が画面表示を必要としている場合には、あとに表示された Ami Pro ウィンドウがファイル管理のウィンドウよりも上に表示されてしまいます。このため、ファイル管理のウィンドウでマクロが実行し続けているかどうかが判りにくくなります。UserControl box でマクロを一時停止させるか、これをマクロの最後の関数にしてください。

構文

FileManagement()

戻り値

1 (TRUE) 	File Manager が開始したとき

-2 (GeneralFailure) 	File Manager が開始されなかったとき

-6 (NoMemory) 	メモリ不足のため関数が実行できなかったとき

例

FUNCTION Example()

OnKey([ctrlaltf], FileManagement, 0)

Message("Press Ctrl+Alt+F to execute the Ami Pro File Manager.")

END FUNCTION

関連項目

ControlPanel, DosRename, DosCopyFile, DosDelFile, DosGetFileAttr, Dosmkdir, Doschdir, DosGetEnv$, DosSetFileAttr, Dosrmdir


FileOpen

説明

メニューで <ファイル(F) オープン(O)> を選ぶことと同じです。

構文

FileOpen(Filename, Options, Appname)

Filename は、オープンする文書の名前です。オープンするファイルがカレントディレクトリまたは文書ディレクトリにない場合は、フルパスを指定します。新規文書ファイルをオープンするには、ファイル名として空文字列 ("") を使います。

Options は、オープンしようとしているファイルのオプションに対応するビット番号です。複数オプションを指定するときには、それぞれを加算します。Options はつぎの１つまたは組み合わせです。

1 - Ami Pro ファイル

8 - 挿入

16 - Ami Pro ファイル以外

128 - カレント文書と置き換え

Appname は、ファイルの種別。ファイルの種別は、AMIPRO.INI ファイルまたは <オープン(O)> のダイアログボックス内のコンボボックスに表示されるものです。Ami Pro ファイルをオープンするには、空文字列 ("") を使います。

<オープン(O)> のダイアログボックスを表示して、オープンするファイルをユーザーが手入力するときは FileOpen を使います。

戻り値

1 (TRUE) 	ファイルがオープンされたとき

0 (UserCancel) 	関数を取り消したとき

-2 (GeneralFailure) 	ファイルがオープンできなかったとき

2 	存在しないファイルを新規作成したとき

例

FUNCTION Example()

Filename = Query$("What file do you want to open?")

IF FindFirst$(Filename, 0)

FileOpen("GOODIES.SAM", 1, "")

ELSE

Message("Could not find {Filename}.")

ENDIF

END FUNCTION

関連項目

GetOpenFileName$, New, SaveAs, FileChanged, FilePrint, Save, GetOpenFileCount, GetOpenFileNames


FilePrint

説明

現在アクティブな文書を印刷します。

メニューで <ファイル(F) 印刷(P)> を選ぶことと同じです。

この関数を使う前には、印刷したい文書がアクティブであることを確認しておいてください。

このコマンドでは、シートフィーダビンの設定はできません。

シートフィーダビンの設定は、PrintOption 関数で行います。

PrintOption 関数を使わないと、Ami Pro はコントロールパネルで指定されたビンを使用します。

構文

FilePrint(Copies, StartPage, EndPage, Flag)

Copies は、印刷する部数です。

StartPage は、印刷開始ページです。PrintAll オプションが使われるとこの引数は無視されますが、指定しなければなりません。

EndPage は、印刷終了ページ。PrintAll オプションが使われるとこの引数は無視されますが、指定しなければなりません。

Flag は、その他の印刷オプションの値を決定する数字。この引数はどのオプション引数が使われているかを決めるもので、次のいずれかまたは組み合わせです。

PrintAll (1) - StartOn と StopAfter を無視して、文書全部を印刷する

Reverse (2) - 文書を逆順で印刷する

Collate(4) - 複数部数印刷する

CropMarks(16) - crop mark 付きで印刷する

PrtDocInfo (32) - 文書と同時に文書説明も印刷する

PrePrinted (64) - pre - print 形式で印刷する:保護文字は印刷しない

PrintUpdateField (128) - 印刷前に項目を更新する

PrintNote (256) - note 付きで文書を印刷する

PrintEven (512) - 文書の偶数ページだけを印刷する

PrintOdd (1024) - 文書の奇数ページだけを印刷する

PrintBoth (1536) - 文書の偶数奇数両ページを印刷する

PrintNoPictures (2048) - 図形を抜いて印刷する（図形入りで印刷するにはこの値は使用しません）

必要なオプションを合計してフラグ引数の値として作り上げます。シートフィーダビンのオプションはこのコマンドではセットできません。

ビンをセットするには、PrintOption 関数を使います。PrintOption 関数を使わないと、Ami Pro はコントロールパネルで指定されたビンを使います。

 <印刷(P)> のダイアログボックスを表示して印刷オプションをユーザー指定するには FilePrint を使います。

戻り値

1 (TRUE) 	印刷が正常に終了したとき

0 (UserCancel) 	関数を取り消したとき

-2 (GeneralFailure) 	印刷が失敗したとき

例

FUNCTION Example()

WHILE CurShade$() = ""

UserControl("Select the text to print and click on Resume...")

WEND

Copy()

New("~ENVELOP.STY", 1, 0)

Paste()

FilePrint(1, 1, 9999, 1537)

FileChanged(1, 0)

FileClose()

END FUNCTION

関連項目

ControlPanel, Merge, PrintSetup, PrintOptions


FillEdit

説明

DialogBox 関数で呼ばれてダイアログボックスに表示されているオブジェクトの内容を埋めます。

オブジェクトがテキストボックスであるか 8000-8999 の ID を持つ文字列であるならば、Value 引数で指定する文字でテキストボックスを埋めます。

オブジェクトがオプションボタンであるかチェックボックスなら Value 引数で指定する計算式を評価し、TRUE なら button をアクティブにし、FALSE なら非アクティブにします。

オブジェクトがリストボックスかコンボボックス (9000-9999のID) の場合、Value 引数で指定した文字を引き渡します。

配列はリストやコンボボックスに渡され、その内容でリストを埋めます。

このようにして、アドレス渡しで配列の名前を使用します。

この関数は、MDI リストボックスにワイルドカードパターンをセットしたり、他の選択基準を追加するのに使うことができます。

0x1 - Read Only

0x2 - Hidden

0x4 - System

0x10 - DiskVolume Label

0x20 - Directories

0x4000 - Drives

0x8000 - Exclusive

構文

FillEdit (ItemID, Value)

ItemID は、値を受取るオブジェクトの番号です。

Value は、文字列、TRUE または FALSE を評価する式、存在する配列のアドレスのいずれかです。

戻り値

なし

例

FUNCTION Example()

Name = GetProfileString$("AmiPro", "UserName", "AMIPRO.INI")

FillEdit(8000, Name)

DIM Filters(10)

FOR I = 1 to 10

Filters(I) = strfield$(GetProfileString$("AmiPro", "application{I}", "AMIPRO.INI"), 1, ",")

FillList(Filters(I))

NEXT

FOR I = 1 to 10

FillEdit(9500, Filters(I))

NEXT

FillEdit(50, TRUE)

FillEdit(55, TRUE)

Box = DialogBox(".", "ExampleBox")

IF Box = -1

Message("Could not open dialog box; Exiting macro.")

EXIT FUNCTION

ELSEIF Box = 0

EXIT FUNCTION

ENDIF

Name2 = GetDialogField$(8000)

IF Name != Name2

IF Decide("Do you want to save your changes?")

WriteProfileString("AmiPro", "UserName", Name2, "AMIPRO.INI")

ENDIF

ENDIF

END FUNCTION

DIALOG ExampleBox

-2134376448 14 104 36 198 90 "" "" "Sample Dialog Box"

FONT 12 "System"

4 6 42 10 1000 1342308352 "static" "&User Name:" 0

52 4 92 12 8000 1350631552 "edit" "" 0

4 24 34 8 1001 1342308352 "static" "&Filters:" 0

4 34 66 52 9000 1352728579 "listbox" "" 0

74 24 52 8 1002 1342308352 "static" "&More Filters:" 0

74 34 70 40 9500 1344339971 "combobox" "" 0

74 46 60 40 24 1342308359 "button" "Group Box #1" 0

78 58 50 10 50 1342242825 "button" "Radio #1" 0

78 70 50 10 51 1342177289 "button" "Radio #2" 0

138 46 56 40 25 1342308359 "button" "Group Box #2" 0

142 56 48 12 55 1342242819 "button" "Check #1" 0

142 68 48 12 56 1342177283 "button" "Check #2" 0

154 4 40 14 1 1342373889 "button" "OK" 0

154 20 40 14 2 1342373888 "button" "Cancel" 0

END DIALOG

関連項目

DialogBox, FillList, GetDialogField$, SetDlgCallback, SetDlgItemText, GetDlgItem, GetDlgItemText


FillList

説明

DialogBox 関数でコールされてダイアログボックスに表示されているリストボックスの内容を埋めます。

リストボックスが１つだけであれば、そのリストボックスが埋められます。

複数個あれば最小 ID のリストボックスが埋められます。

FillList 関数で指定できる各項目は 80桁までの文字列です。

１つ以上の項目があるときは、繰り返して FillList を使って項目を追加することができます。

構文

FillList(item1 [,item2]...)

Item1,Item2 は、リストボックス内に置かれる文字列。

戻り値

なし

例

FUNCTION Example()

Name = GetProfileString$("AmiPro", "UserName", "AMIPRO.INI")

FillEdit(8005, Name)

DIM Filters(10)

FOR I = 1 to 10

Filters(I) = strfield$(GetProfileString$("AmiPro", "application{I}", "AMIPRO.INI"), 1, ",")

FillList(Filters(I))

NEXT

FOR I = 1 to 10

FillEdit(9500, Filters(I))

NEXT

FillEdit(50, TRUE)

FillEdit(55, TRUE)

Box = DialogBox(".", "ExBox")

IF Box = -1

Message("Could not open dialog box; Exiting macro.")

EXIT FUNCTION

ELSEIF Box = 0

EXIT FUNCTION

ENDIF

Name2 = GetDialogField$(8005)

IF Name != Name2

IF Decide("Do you want to save your changes?")

WriteProfileString("AmiPro", "UserName", Name2, "AMIPRO.INI")

ENDIF

ENDIF

END FUNCTION

DIALOG ExBox

-2134376448 14 104 36 198 90 "" "" "Sample Dialog Box"

FONT 14 "System"

4 6 42 10 1000 1342308352 "static" "&User Name:" 0

52 4 92 12 8005 1350631552 "edit" "" 0

4 24 34 8 1001 1342308352 "static" "&Filters:" 0

4 34 66 52 9000 1352728579 "listbox" "" 0

74 24 52 8 1002 1342308352 "static" "&More Filters:" 0

74 34 70 40 9500 1344339971 "combobox" "" 0

74 46 60 40 24 1342308359 "button" "Group Box #1" 0

78 58 50 10 50 1342242825 "button" "Radio #1" 0

78 70 50 10 51 1342177289 "button" "Radio #2" 0

138 46 56 40 25 1342308359 "button" "Group Box #2" 0

142 56 48 12 55 1342242819 "button" "Check #1" 0

142 68 48 12 56 1342177283 "button" "Check #2" 0

154 4 40 14 1 1342373889 "button" "OK" 0

154 20 40 14 2 1342373888 "button" "Cancel" 0

END DIALOG

関連項目

DialogBox, FillEdit, GetDialogField$, SetDlgCallback, SetDlgItemText, GetDlgItem, GetDlgItemText


FindFirst
FindFirst$

説明

関数に与えられたファイルの型に一致するファイルを見つけます。ディレクトリ内のすべてまたは一部のファイルが対象になります。

FindFirst$ 関数は、最初に一致したファイルを取り出します。

FindNext$ 関数以前に使います。FindNext$ 関数は、filespec に一致する別のファイルを探します。

構文

FindFirst$(Filespec, Attr)

Filespec は、検索するファイルの型を示します。

必要ならばドライブ名、ディレクトリ名を含みます。filespec に使うファイル名には、ワイルドカード「*」や「?」を含むことができます。

Attr は目的のファイルの型に対応する番号で、次のとおりです。

A_Normal (0) - Normal files

A_ReadOnly (1) - Read only files

A_Hidden (2) - Hidden files

A_System (4) - System file

A_Vollabel (8) - Disk's volume label

A_Directory (16) - Directories

A_Archive (32) - Archive files

異なる型のファイルを取り出すには上記の値を足し合わせます。

戻り値

一致したファイルの文字列。

一致したファイルがなければ空文字列 ("")。

例

FUNCTION Example()

DIR=Query$("どのﾃﾞｨﾚｸﾄﾘのﾌｧｲﾙをﾚﾎﾟｰﾄしますか？")

File=FindFirst$("{DIR}\*.*", 0)

WHILE File<>""

type("{file}[ENTER]")

File = FindNext$()

WEND

END FUNCTION

関連項目

fclose, fgets$, fputs, fseek, ftell,fread, fwrite, FindNext$


FindNext
FindNext$

説明

FindFirst$ 関数に与えられた型に一致するファイルを見つけます。

ディレクトリ内のすべてまたは一部のファイルが対象になります。

FindFirst$ 関数は、最初に一致したファイルを取り出し、FindNext$ 関数以前に使わなければなりません。

FindNext$ 関数は、次に一致する別のファイルを探します。

構文

FindNext$()

戻り値

一致したファイルの文字列。

一致したファイルがなければ空文字列 ("")。

例

FUNCTION Example()

DIR=Query$("どのﾃﾞｨﾚｸﾄﾘのﾌｧｲﾙをﾚﾎﾟｰﾄしますか？")

File=FindFirst$("{DIR}\*.*", 0)

WHILE File<>""

type("{file}[ENTER]")

File = FindNext$()

WEND

END FUNCTION

関連項目

fclose, fgets$, fputs, fseek, ftell,fread, fwrite, FindFirst$


FindReplace

説明

ユーザーに検索と置換メニューを見せて、メニューから選ばせます。

メニューで <編集(E) 検索/置換(R)> を選ぶことと同じです。自動的に単語 (words) を置き換えはしません。自動的な検索と置換をする場合は、Replace 関数を使います。

構文

FindReplace()

戻り値

1 (TRUE) 	FindReplace 関数が開始されたとき

0 (UserCancel) 	関数を取り消したとき

例

FUNCTION Example()

IF CurShade$() = ""

FindReplace()

ELSE

Replace(0, 0, 0, CurWord$(), "")

ENDIF

END FUNCTION

関連項目

GoToCmd, GoToShade, Replace


FloatingHeader

説明

文書の浮動ヘッダ、フッタの付加、削除を行います。

メニューで <ページ(P) 浮動ヘッダ/フッタ(F)> を選ぶことと同じです。これはレイアウトモードでのみ使えます。

構文

FloatingHeader(Function)

Function は、浮動ヘッダまたはフッタの付加または削除を行う目的の関数です。動作内容は、次の中から指定します。

AddHeader (1) - 浮動ヘッダを付ける。

AddFooter (2) - 浮動フッタを付ける。

DelHeader (4) - 浮動ヘッダを削除する。

DelFooter (8) - 浮動フッタを削除する。

ヘッダやフッタの付加と削除を偶数ページまたは奇数ページ毎に指定するときには、次の引数の１つを上記の値と組み合わせて指定します。

OddHF (16) - 奇数ページ

EvenHF (32) - 偶数ページ

ダイアログボックスを画面表示して引数を指定するときには、FloatingHeader を使います。

戻り値

1 (TRUE) 	ヘッダやフッタが付加または削除されたとき

0 (UserCancel) 	関数をキャンセルしたとき

-6 (NoMemory) 	メモリ不足で実行できなかったとき

例

FUNCTION Example()

Again:

Action = Query$("浮動ﾍｯﾀﾞ (A)追加 (R)削除 ？")

Action = lcase$(Left$(Action, 1))

SWITCH Action

CASE "a"

retcd = FloatingHeader(49)

CASE "r"

retcd = FloatingHeader(52)

default

Message("""A"" または ""R"" を入力してください")

GoTo again

ENDSWITCH

END FUNCTION

関連項目

GoToCmd, PageNumber, ModifyLayout


FontChange

説明

指定された文字列で使うフォントをセットします。

メニューで <文字(T) フォント(F)> を選ぶことと同じです。

メニューコマンドを通すと、ユーザーはプリンタ用のフォントの中からだけ選ぶことができます。

マクロ関数を使うと、あらゆるタイプのフォントを指定できます。

フォントを表示または印刷するときには、Ami Pro は指定されたものにもっとも近いフォントを選びます。

構文

FontChange(Name,PitchFamily,Color,Size)

Name は使用するフォントの名前で、メニューでフォントリストボックスに表示されるものです。

PitchFamily は、フォントのピッチと型の引数の組み合わせです。Pitch は次の値のいずれかです。

False (0) - 特に指定なし

FixedPitch (1) - 固定ピッチのフォント

VariablePitch (2) - プロポーショナルフォント

Family は、型で次のいずれかです。

False (0) - 特に指定なし

Roman (16) - Roman に似た型で、プロポーショナルピッチ、セリフ。

Swiss (32) - Swiss に似た型で、プロポーショナルピッチ、sans - serif。

Modern (48) - Moderen に似た型で、固定ピッチ、セリフまたは sans - serif。

Script (64) - Script に似た型で、Brush や Park Avenue など

Decorative (80) - Decorative 型で、Old English など。

Pitch の１つと Family の１つを加算して PitchFamily 引数とします。この引数はプリンタにその名前のフォントがない場合に他のフォントを決めるのに使います。

Color は色に対応する数値で次のいずれかです。

White (16777215) - 白

Cyan (16776960) - 水色

Yellow (65535) - 黄色

Magenta (16711935) - 赤紫

Green (65280) - 緑

Red (255) - 赤

Blue (16711680) - 青

Black (0) - 黒

Size は、twips 単位で示します。たとえば、８ポイントは 160 twips、10ポイントは 200 twips、12ポイントは 240 twips です。ポイント数を twips に変換するには pointsize * 20 とします。

ダイアログボックスを表示して引数を入力するには、FontChange とします。

戻り値

1

例

FUNCTION Example()

DEFSTR Name, Color, Size, Family;

GetCurFontInfo(&Name, &Color, &Size, &Family)

Size = ((Size / 20) + 2) * 20

FontChange(Name, Family, Color, Size)

END FUNCTION

関連項目

FontRevert, ModifyFont, NormalText, Spacing, FontFaceChange, FontPointSizeChange


FontFaceChange

説明

アクテイブな文書で使うフォントを変更します。

状態行で、フォントを選ぶことと同じです。

あらゆるタイプのフォントを指定できますが、フォントを表示または印刷するときには、Ami Pro は可能なものの中からもっとも近いフォントを選びます。

構文

FontFaceChange(Name)

Name は、使用するフォントの名前。フォントの名前は、状態行の FontName セクションに表示される名前一覧から選ばれるものです。

戻り値

1 (TRUE) 	フォントが変更されたとき

0 (NoAction) 	フォントが使用不可だったために何も変更されなかったとき

例

FUNCTION Example()

FontFaceChange("ｺﾞｼｯｸ")

END FUNCTION

関連項目

FontChange, FontPointSizeChange


FontPointSizeChange

説明

アクティブな文書の指定されたフォントのポイント数を変更します。

状態行でポイントサイズを選ぶことと同じです。

構文

FontPointSizeChange(Size)

Size は、使うポイント数。ポイント数は、状態行のポイントサイズセクション内に表示されるサイズ一覧から選ばれるものです。

戻り値

1

例

FUNCTION Example()

FontPointSizeChange(20*20)

END FUNCTION

関連項目

FontFaceChange, FontChange


FontRevert

説明

文字データのフォントを現在の段落スタイルで定義されたフォントに変更します。

メニューで <文字(T) フォント(F)> を選ぶこと、チェックボックスの <スタイルの設定に戻す(R)> を指定することと同じです。

構文

FontRevert()

<フォント(F)> のダイアログボックスを表示して、ユーザーがフォントを選ぶには FontChange を使います。

戻り値

なし

例

FUNCTION Example()

WHILE CurShade$() = ""

UserControl("Select the text to revert back to the style...")

WEND

FontRevert()

END FUNCTION

関連項目

FontChange, ModifyFont, NormalText, FontFaceChange, FontPointSizeChange


Footnotes

説明

脚注に関するオプションをセットし、脚注を編集、挿入、削除できるようにします。

メニューで <ツール(L) 脚注(F)> を選ぶことと同じです。

構文

Footnotes(Function,Options,Startnum,Length,Indent)

Function は脚注の関数を示す引数で、次の１つを指定します。

InsFootnote (1) - 新しい脚注を挿入する。

EditFootnote (2) - 既存の脚注を編集する。

SetOptions (3) - 脚注のオプションをセットする。

Options は目的の脚注のオプションで、次の１つまたは組み合わせを指定する。

Gather (1) - 脚注を文書の最後にまとめまる。

Reset (2) - 脚注の番号をページ毎にリセットする。

CustomLength (4) - 区切り線の長さはマージン幅ではなく、指定したものを使う。

戻り値

1 (TRUE) 	正常に終了したとき

0 (UserCancel) 	取り消されたとき

-2 (General Failure) 	終了できなかったとき

例

FUNCTION Example()

Footnotes(InsFootnote, Gather, 1, 0, 0)

END FUNCTION


fopen

説明

マクロで取り扱うために、テキストファイルやバイナリファイルをオープンします。

テキストファイルやバイナリファイルを使う場合は、最初にこの関数を使います。

オープンしたファイルは、マクロを終了する前にクローズしなければなりません。そうしないと、結果は予想できません。

テキストファイルの関数を使う場合は、続くテキストファイルの関数の実行前に確実にファイルがオープンされていなければなりません。

fopen 関数が目的のファイルをオープンできなかった場合は、マクロでファイルの読み書きをしようとした時に何が起こるか予想できません。

構文

fopen(Filename,Mode)

FileName はオープンするファイル名で、カレントディレクトリにない場合は、フルパスを指定します。

Mode は使用するファイルモードで、次のいずれかを指定します。

r - 読み込み用にオープンします。この指定でオープンされたファイルには書き込みできません。ファイルがない場合は、fopen の呼出が失敗します。

w - 書き出しファイルとしてオープンします。既存のファイルの内容は消されます。ファイルが存在しない場合は、新規に作られます。

a - 追加用としてオープンします。ファイルが存在しない場合は新規に作られます。既存のファイルの場合は、書きだし文字列はファイルの末尾に書かれます。

b - fread と fwrite で使用します。

t - fgets と fputs で使用します。

戻り値

ファイルがオープンできたときには、ゼロではないファイルハンドル数

0 (FALSE) 	ファイルがオープンできなかったとき

例

FUNCTION Example()

ONERROR toast

ONCANCEL toast

DEFSTR id, Line;

WinDir = GetWindowsDirectory$()

IF 0 != Assign(&id, fopen("{WinDir}PRINTERS.TXT", "r"))

New("~BASIC.STY", 0, 0)

WHILE -1 != Assign(&Line, fgets$(id))

TYPE("{Line}[Enter]")

WEND

toast:

fclose(id)

ELSE

Message("Could not open {WinDir}PRINTERS.TXT!")

ENDIF

END FUNCTION

関連項目

fclose, fgets$, fputs, fseek, ftell, fread, fwrite


FormatDate
FormatDate$

説明

1970年1月1日以降の日付を取り出し、指定の形式にします。

構文

FormatDate$(Date,Style)

Date は変換する秒単位の日付データ。

Style は変換された日付の表現形式で、次のものです。

a	92/08/31

B	AUGUST 31, 1992

b	August 31, 1992

C	31 AUGUST 1992

c	31 August 1992

D	MONDAY, AUGUST 31, 1992

d	Monday, August 31, 1992

E	AUGUST 31

e	August 31

F	MONDAY AUGUST 31

f	Monday August 31

g	08/31

h	1992/08/31

I	31. AUGUST

i	31. August

J	31. AUGUST 1992

j	31. August 1992

K	1992 AUGUST 31

k	1992 August 31

L	AUGUST, 1992

l	August, 1992

M	１９９２年８月３１日

m	1992年8月31日

n	一九九二年八月三十一日

O	'９２年８月３１日

o	'92年8月31日

Q	平成４年８月３１日

q	平成4年8月31日

r	平成四年八月三十一日

S	８月３１日

s	8月31日

t	八月三十一日

U	１９９２/８/３１

u	1992/8/31

V	1992 AUG 31

v	1992 Aug 31

W	AUG 31

w	Aug 31

X	９２.８.１５

x	92.8.31

Y	９２-８-３１

y	92-8-31

Z	Ｈ４.８.３１

z	H4.8.31

戻り値

指定された形式に変換されたデータ

例

FUNCTION Example()

Again:

Born = Query$("お子さんのお誕生日は (YY/MM/DD)？       YY > 79")

if strfield$(Born,1,"/") < 80

message("注意:DateDiff()は1979年以前の計算をサポートしていません")

goto Again

endif

Date = FormatDate$(Now(), "a")

Time = FormatTime$(Now(), 6)

Days = DateDiff(Date, Born)

TextDate = FormatDate$(Now(), "d")

Message("ただいま {TextDate} の {Time} です。お子さんが生まれてから {Days} 日目です。")

END FUNCTION

関連項目

FormatTime$, Now, InsertDate$


FormatNum
FormatNum$

説明

数字を文字列に変え、Prefix を先頭に付け、指定された桁数を小数点の右におき、Suffix を末尾に付けます。

小数点と３桁毎につける区切りの文字は、コントロールパネルの国別設定オプションで決められます。

構文

FormatNum$(Prefix,Suffix,Decimals,Number)

Prefix は変換後の数字の先頭に付ける文字

Suffix は変換後の数字の末尾に付ける文字

Decimals は数字表記の小数桁数

Number は変換する数字で、コンマや付加文字がないものです。

戻り値

変換された文字列

例

FUNCTION Example()

Again:

Number = Query$("How much was the sale?")

Where = Query$("Where was the sale made (E)ngland, or (A)merica?")

Where = lcase$(Left$(Where, 1))

IF Where = "e"

Prefix = ""

Suffix = "｣"

ELSEIF Where = "a"

Prefix = "$"

Suffix = ""

ELSE

Message("Please choose ""a"" or ""e"".")

GoTo again

ENDIF

NewNumber = FormatNum$(Prefix, Suffix, 2, Number)

Message("The sale was for {NewNumber}.")

END FUNCTION

関連項目

IsNumeric, strcat$, strchr, LCASE$, UCASE$, strfield$, MID$, LEN, instr


FormatSeq
FormatSeq$

説明

Number 引数を Style 引数で定義した段落スタイルに変換します。

構文

FormatSeq$(Number,Style)

Number は変換する数字で、コンマや付加文字のないものです。

Style は段落スタイルで次の中から１つを指定します。

1	1,2,3.....

2	I,II,III .....

3	i,ii,iii .....

4	A,B,C .....

5	a,b,c .....

6	(1),(2),(3).....

7	(I),(II),(III) .....

8	(i),(ii),(iii) .....

9	(A),(B),(C) .....

10	(a),(b),(c) .....

11	一,二,三.....

12	(一),(二),(三).....

戻り値

指定された段落スタイル内の番号

例

FUNCTION Example()

Number = Query$("Enter the number to format to A,B,C style:")

Number = FormatSeq$(Number, 4)

Message("The number you gave, in A,B,C style is {Number}.")

END FUNCTION

関連項目

FormatNum$, ModifyStyle


FormatTime
FormatTime$

説明

時刻を取り出し、指定の形式にします。

構文

FormatTime$(Time,Style)

Time は変換する時刻

Style は次に示す形式のいずれかです。

1 - 22:28

2 - 9:00AM

3 - 09:00AM

4 - 9:00A

5 - 09:00A

6 - 9:00am

7 - 09:00am

8 - 9:00a

9 - 09:00a

戻り値

指定された形式の時刻

例

FUNCTION Example()

Again:

Born = Query$("お子さんのお誕生日は (YY/MM/DD)？       YY > 79")

if strfield$(Born,1,"/") < 80

message("注意:DateDiff()は1979年以前の計算をサポートしていません")

goto Again

endif

Date = FormatDate$(Now(), "a")

Time = FormatTime$(Now(), 6)

Days = DateDiff(Date, Born)

TextDate = FormatDate$(Now(), "d")

Message("ただいま {TextDate} の {Time} です。お子さんが生まれてから {Days} 日目です。")

END FUNCTION

関連項目

FormatDate$, Now, InsertDate$


fputs

説明

fopen でオープンされたファイルにテキスト文字１行を書きます。

文字列行は、ファイルの末尾に書かれます。文字列行を書く時には、ファイルに書きだされる前に各行の末尾に改行／復帰が付加されます。

テキストファイルの関数を使う場合は、次のテキストファイル関数を実行する前に正しくファイルをオープンしていることを確認してください。

fopen 関数が目的のファイルをオープンできなかった場合、マクロがファイルの読み書きを行おうとした時に予期せぬ結果が起こります。

構文

fputs(Handle,Text)

Handle は fopen 関数で返されるファイルのファイルハンドル。

Text はファイルに書き込む１行の文字列。

戻り値

なし

例

FUNCTION Example()

DEFSTR string;

id = fopen("test.txt", "w")

IF id != 0

Name = Query$("What is your name?")

fwrite(id, Name)

fwrite(id, BracketsToBin([Enter]))

fputs(id, Query$("What is your address?"))

fclose(id)

ENDIF

Exec("NOTEPAD.EXE", "TEST.TXT")

UserControl("Click on Resume to continue...")

AppClose("Notepad - TEST.TXT")

id2 = fopen("test.txt", "r")

IF id2 != 0

NameLength = len(Name)

fseek(id2, 0, 0)

Name = fread(id2, NameLength)

EnterKey = BinToBrackets(fread(id2, 2))

AddressBegins = ftell(id2)

Address = fgets$(id2)

Message("Your name is {Name}.")

Message("Your address is {Address}.")

Message("EnterKey = {EnterKey}")

Message("The address begins at the {AddressBegins} byte.")

fclose(id2)

ENDIF

END FUNCTION

関連項目

fclose, fgets$, fopen, fseek, ftell, fread, fwrite


FrameLayout

説明

枠レイアウトメニューを表示して、メニューから選ばせます。メニューで <枠(R) 枠レイアウト修正(M)> を選ぶことと同じです。枠レイアウトを自動的に変更はしません。

構文

FrameLayout()

戻り値

1 (TRUE) 	変更されたとき

0 (UserCancel) 	取り消されたとき

-2 (GeneraFailure) 	変更されなかったとき

例

FUNCTION Example()

AddFrame(1440, -1440, 2880, -2880)

IF Decide("Do you want to choose the frame layout options?")

FrameLayout()

ELSE

FrameModInit()

Border = (1440 / 5)

FrameModBorders(1440, 1440, 1440, 1440, Border, Border, Border, Border, 1)

FrameModLines(20, 3, 1, 0, 16777215, 0, 0, 0, 100, 100)

FrameModType(Opaque, 0, "")

FrameModFinish()

ENDIF

END FUNCTION

関連項目

ModifyLayout, ModifyStyle, FrameModInit, FrameModBorders, FrameModLines, FrameModType, FrameModFinish


FrameModBorders

説明

アクテイブな枠のサイズと位置を変更できるようにします。

メニューで <枠(R) 枠レイアウト修正(M)> を指定し、<サイズと位置(S)> を選ぶことと同じです。

この関数を使う前に、FrameModeInit を呼ばなければなりません。枠変更を生かすには、FrameModeFinish 関数を呼び出します。

構文

FrameModBorders(Width,Height,Top,Left,Leftmarg,Topmarg,Rightmarg,Bottommarg,Units)

Width は枠の幅

Hight は枠の高さ

Top はページの先頭からの距離（垂直開始位置）

Left はページの左端からの距離（水平開始位置）

Leftmarg は枠の左余白

Topmarg は枠の上余白

Rightmarg は枠の右余白

Bottommarg は枠の下余白

Units 以外の引数はすべて twips (1インチ＝1440 twips) 単位の値です。インチ数を twips 単位にするには、1440 を掛けます。

Units は引数の値をダイアログボックスで設定するときに使う単位で、次のいずれかです。

inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント数

戻り値

1 (TRUE) 	変更されたとき

-2 (GeneraFailure) 	変更されなかったとき

例

FUNCTION Example()

AddFrame(1440, -1440, 2880, -2880)

IF Decide("Do you want to choose the frame layout options?")

FrameLayout()

ELSE

FrameModInit()

Border = (1440 / 5)

FrameModBorders(1440, 1440, 1440, 1440, Border, Border, Border, Border, 1)

FrameModLines(20, 3, 1, 0, 16777215, 0, 0, 0, 100, 100)

FrameModType(Opaque, 0, "")

FrameModFinish()

ENDIF

END FUNCTION

関連項目

FrameModInit, FrameModFinish, FrameModLines, AddFrame, AddFrameDLG, FrameLayout


FrameModFinish

説明

枠レイアウトの変更を反映させます。この関数は <枠(R) 枠レイアウト修正(M)> を通して枠レイアウトを変更するときに記録された一連の関数の最後に使います。

メニューで <枠(R) 枠レイアウト修正(M)> を選ぶことと同じです。

FrameModFinish 関数を呼び出す前に FrameModInit 関数を呼び出してください。

構文

FrameModFinish()

戻り値

1 (TRUE) 	変更されたとき

-2 (GeneraFailure) 	変更されなかったとき

例

FUNCTION Example()

AddFrame(1440, -1440, 2880, -2880)

IF Decide("Do you want to choose the frame layout options?")

FrameLayout()

ELSE

FrameModInit()

Border = (1440 / 5)

FrameModBorders(1440, 1440, 1440, 1440, Border, Border, Border, Border, 1)

FrameModLines(20, 3, 1, 0, 16777215, 0, 0, 0, 100, 100)

FrameModType(Opaque, 0, "")

FrameModFinish()

ENDIF

END FUNCTION

関連項目

FrameModBorders, FrameModLines, FrameModType, FrameLayout, AddFrame, AddFrameDLG


FrameModInit

説明

枠レイアウトを変更する時に、現在選択されている枠の変更を Ami Pro が受入れられるようにします。

メニューで <枠(R) 枠レイアウト修正(M)> を選んだ時の変更を初期化することと同じです。

この関数を呼び出す前に枠を選択してください。

構文

FrameModInit()

戻り値

1 (TRUE) 	変更されたとき

-6 (NoMemory) 	メモリ不足で実行されなかったとき

例

FUNCTION Example()

AddFrame(1440, -1440, 2880, -2880)

IF Decide("Do you want to choose the frame layout options?")

FrameLayout()

ELSE

FrameModInit()

Border = (1440 / 5)

FrameModBorders(1440, 1440, 1440, 1440, Border, Border, Border, Border, 1)

FrameModLines(20, 3, 1, 0, 16777215, 0, 0, 0, 100, 100)

FrameModType(Opaque, 0, "")

FrameModFinish()

ENDIF

END FUNCTION

関連項目

FrameModBorders, FrameModLines, FrameModType, FrameModFinish, FrameLayout, AddFrame, AddFrameDLG


FrameModLines

説明

アクティブな枠の線の回りこみ、背景色、影の色、影の位置に対する変更を反映させます。

メニューで <枠(R) 枠レイアウト修正(M)> を選び、<外枠線と影付き(L)> を指定することと同じです。

この関数を使う前に FrameModInit 関数を呼び出してください。枠の変更を生かすには、FrameModFinish 関数を呼び出します。

構文

FrameModLines(Borderwhere,Postype,Thicktype,Shadetype,Backtype,Shadowcolor,Shadowleft,Shadowtop,Shadowright,Shadowbottom)

Borderwhere は枠の周囲の線で、次の中から１つを指定します。

1 - 全部

2 - 左

4 - 右

8 - 上

16 - 下

Postype は枠周囲の境界の位置で、次の中から１つを指定します。

1 - 中間

2 - 内側

3 - 外側

5 - 外側寄り

Postype には１つの値だけを設定します。

Thicktype は外枠線の太さで次の中から１つを指定します。

Hairline (1) - 極細線

OnePoint (2) - １ポイント線

TwoPoint (3) - ２ポイント線

ThreePoint (4) - ３ポイント線

FourPoint (5) - ４ポイント線

FivePoint (6) - ５ポイント線

SixPoint (7) - ６ポイント線

DoubleOnePoint (8) - １ポイント線２本

DoubleTwoPoint (9) - ２ポイント線２本

ThreeLines (10) - 極細線が２ポイント線の上下に付く３本線

HairBelow (11) - 極細線が３ポイント線の下に付く２本線

HairAbove (12) - 極細線が３ポイント線の上に付く２本線

DotHairline (13) - 極細の点線

DotOnePoint (14) - １ポイントの点線

DotTwoPoint (15) - ２ポイントの点線

DashHairline (16) - 極細の破線

DashOnePoint (17) - １ポイントの破線

DashTwoPoint (18) - ２ポイントの破線

DsdotHairline (19) - 極細の一点破線

DsdotOnePoint (20) - １ポイントの一点破線

DsdotTwoPoint (21) - ２ポイントの一点破線

DsddHairLine (28) - 極細の二点波線

DsddOnePoint (29) - １ポイントの二点波線

DsddTwoPoint (30) - ２ポイントの二点波線

WaveOnePoint (37) - １ポイントの波線

WaveTwoPoint (38) - ２ポイントの波線

DWaveOnePoint (39) - １ポイントの二重波線

DWaveTwoPoint (40) - ２ポイントの二重波線

Slant1 (41) - 太い縄目線

Slant2 (42) - 縄目線

Dots (43) - 中点線

Star (60) - 星のデザインの飾り線

Rope (61) - 縄のデザインの飾り線

Deco1 (62) - アールデコ調の飾り線１

Deco2 (63) - アールデコ調の飾り線２

Circle (64) - 円を型取った飾り線

Memo (90) - メモのデザインの飾り線

Rose (91) - 薔薇のデザインの飾り線

Sunflower (92) - ひまわりのデザインの飾り線

Deco3 (93) - アールデコ調の飾り線３

Shadetype は線の色

Backtype は背景色

Shadowcolor は色に割当てられている値で、次のいずれかです。

Red - 255

Orange - 33279

Yellow - 65535

Green - 65280

Cyan - 16776960

MedBlue - 16744448

Blue - 16727905

Purple - 16711809

Magenta - 16711935

Pink - 8388863

White - 167772215

Black - 0

次の４つの引数は、枠の指定した側から影を付ける距離を指定するもので、ゼロまたは正の整数です。

値を twips 単位にするために、インチに 1440 を掛けます。

次の値のいずれかまたはユーザー指定の特別の値を指定します。

None (0) - 影なし

Shallow (57) - 薄い影

Normal (100) - 普通の影

Deep (172) - 濃い影

Shadowleft は枠の左側に付ける影の距離を twips 単位で指定します。

Shadowtop は枠の上側に付ける影の距離を twips 単位で指定します。

Shadowright は枠の右側に付ける影の距離を twips 単位で指定します。

Shadowbottom は枠の下側に付ける影の距離を twips 単位で指定します。

戻り値

1 (TRUE) 	変更されたとき

-2 (GeneralFailure) 	変更されなかったとき

例

FUNCTION Example()

AddFrame(1440, -1440, 2880, -2880)

IF Decide("Do you want to choose the frame layout options?")

FrameLayout()

ELSE

FrameModInit()

Border = (1440 / 5)

FrameModBorders(1440, 1440, 1440, 1440, Border, Border, Border, Border, 1)

FrameModLines(20, 3, 1, 0, 16777215, 0, 0, 0, 100, 100)

FrameModType(Opaque, 0, "")

FrameModFinish()

ENDIF

END FUNCTION

関連項目

FrameModBorders, FrameModFinish, FrameModInit, FrameModType, FrameLayout, AddFrame, AddFrameDLG


FrameModType

説明

アクティブな枠に対して、重なり、角丸め、マクロに関するオプションをセットします。

メニューで <枠(R) 枠レイアウト修正(M)> を選び、<種類(T)> を指定することと同じです。

この関数の前に FrameModInit を呼び出してください。枠変更を反映させるには、FrameModFinish 関数を呼び出してください。

構文

FrameModType(Type,Rounded,Macroname)

Type は次のことに基づいてセットされる値です。

文字がどのように枠を回り込むか、枠が透明か不透明か、角が丸いか四角か、ページのどの位置にあるか、枠にマクロが割り当てられているか。

次の中から１つを指定します。

Opaque (64) - 枠の後ろに文字または図が隠れる。

Wraparound (128) - 枠の上下左右に文字を表示する。

RepeatFrame (256) - 複数ページに枠を繰り返す。全ページに繰り返すとき RepeatEven と RepeatOdd を組み合わせて使用しない。

NoWrapBeside (131072) - 枠の上下には文字を表示するが枠の左右には表示しない。

AnchorFrame (524288) - 現在の位置または改行位置に枠を移動する。この値については繰り返しの値は使えない。

RepeatEven (4194304) - 偶数ページで枠を繰り返す。RepeatFrame と一緒に指定する。

RepeatOdd (8192) - 奇数ページで枠を繰り返す。RepeatFrame と一緒に指定する。

RunMacro (134217728) - 枠を選択するごとにマクロを実行する。

Borders (65536) - 枠が境界を持つとき使用する。

TextFrame (512) - 他の値と組み合わせて常に使用する。

Type を決めるには、それぞれの値を足し合わせます。

Rounded は角丸めの量をパーセントで示します。（100％＝円）

MacroName は枠が選択されたときに実行するマクロ名です。

戻り値

1 (TRUE) 	変更されたとき

-2 (GeneralFailure) 	変更されなかったとき

例

FUNCTION Example()

AddFrame(1440, -1440, 2880, -2880)

IF Decide("Do you want to choose the frame layout options?")

FrameLayout()

ELSE

FrameModInit()

Border = (1440 / 5)

FrameModBorders(1440, 1440, 1440, 1440, Border, Border, Border, Border, 1)

FrameModLines(20, 3, 1, 0, 16777215, 0, 0, 0, 100, 100)

FrameModType(Opaque, 0, "")

FrameModFinish()

ENDIF

END FUNCTION

関連項目

FrameModBorders, FrameModFinish, FrameModInit, FrameModLines, FrameLayout, AddFrame, AddFrameDLG


fread

説明

オープンしているファイルから指定したバイト数を読み込みます。

テキストファイルの関数を使用するときには、必ずファイルがオープンされていることを確認してください。

fopen 関数が目的のファイルをオープンできなかった場合は、ファイルの読み書きをしようとしたときに、何が起るかは予想できません。

バイナリ情報を読むときには、ゼロの扱いに注意が必要です。

バイナリファイルは１バイトずつ読んでください。

空文字列 ("") は、バイナリのゼロとみなされます。

構文

fread(Handle,Len)

Handle は fopen 関数で返されるファイル ID。

Len はファイルから読み込むバイト数。

戻り値

ファイルから読み込んだデータ

-1 	ファイルポインタがファイルの終端だったとき

例

FUNCTION Example()

DEFSTR string;

id = fopen("test.txt", "w")

IF id != 0

Name = Query$("What is your name?")

fwrite(id, Name)

fwrite(id, BracketsToBin([Enter]))

fputs(id, Query$("What is your address?"))

fclose(id)

ENDIF

Exec("NOTEPAD.EXE", "TEST.TXT")

UserControl("Click on Resume to continue...")

AppClose("Notepad - TEST.TXT")

id2 = fopen("test.txt", "r")

IF id2 != 0

NameLength = len(Name)

fseek(id2, 0, 0)

Name = fread(id2, NameLength)

EnterKey = BinToBrackets(fread(id2, 2))

AddressBegins = ftell(id2)

Address = fgets$(id2)

Message("Your name is {Name}.")

Message("Your address is {Address}.")

Message("EnterKey = {EnterKey}")

Message("The address begins at the {AddressBegins} byte.")

fclose(id2)

ENDIF

END FUNCTION

関連項目

fopen, fclose, fwrite, BracketsToBin, BinToBrackets, fseek, ftell


FreeGlobalVar

説明

グローバル変数に割り当てられているメモリを解放します。

グローバル変数の値は、関数内で生成されて関数の終了時に失われる固有変数とは異なり、解放されるか Ami Pro を抜けるまで保持されます。

構文

FreeGlobalVar(Name)

Name は解放する既存のグローバル変数の名前または番号。

戻り値

1 (TRUE) 	解放されたとき

0 (FALSE) 	指定した ID または名前のグローバル変数がなかったとき

例

FUNCTION Example()

AllocGlobalVar("Names", 5)'Allocate space for a 5 element global variable

AllocGlobalVar("Numbers", 5)'Allocate space for a 5 element global variable

AllocGlobalVar("YourName", 1)'Allocate space for a single element global variable.

FOR I = 1 to 5'Do the following 5 times.

SetGlobalArray("Names", I, Query$("Enter Name Number {I}"))

'Fill a global array with the return from QUERY

SetGlobalArray("Numbers", I, (100/I))'Fill a global array with a number

NEXT

NewName = Query$("What is your name?")'Query the user for his/her name

SetGlobalVar("YourName", NewName)'Set a global variable to that value

CALL Example2()'Call the following function

END FUNCTION

FUNCTION Example2()

Name = GetGlobalVar$("YourName")'Get the value of the global variable

Message("Your name is {Name}.")'Message that value in a box.

FOR I = 1 to 5'Do the following 5 times.

TheirName = GetGlobalArray$("Names", I)'Get the value of the current element from the array

TheirNumber = GetGlobalArray$("Numbers", I)'Get the value of the current element from the array

TYPE("Name #{I} is {TheirName}, and the number is {TheirNumber}.[Enter]")

'Type the values to the screen.

NEXT

FreeGlobalVar("Names")'Clear the space for the first global array

FreeGlobalVar("Numbers")'Clear the space for the second global array

FreeGlobalVar("YourName")'Clear the space for the global variable

END FUNCTION

関連項目

AllocGlobalVar, GetGlobalArray$, GetGlobalVar$, SetGlobalArray, SetGlobalVar, 変数


fseek

説明

ファイルポインタをファイル内の他の位置に移動します。ファイルポインタとは、ファイル内で次に読む文字の位置です。fseek 関数は、先頭位置から 0 バイトの位置、またはファイルの先頭から開始している ftell で返された値の位置を探すときに有効に働きます。テキストファイルの関数を使っているときには、必ずファイルがオープンされていることを確認してください。fopen 関数が目的のファイルをオープンできなかった場合は、ファイルの読み書きをしようとしたときに起こる動作は保証できません。

構文

fseek(Handle,Location,Startpoint)

Handle は fopen 関数で返されるファイルのファイルハンドル。

Location はファイルポインタを動かす文字数で、正の正数です。

Startpoint はファイルポインタを動かすときの開始位置で、次のいずれかです。

FBegin (0) - ファイルの先頭

FCurrent (1) - 現在のポインタ位置

FEnd (2) - ファイルの末尾

戻り値

なし

例

FUNCTION Example()

DEFSTR string;

id = fopen("test.txt", "w")

IF id != 0

Name = Query$("What is your name?")

fwrite(id, Name)

fwrite(id, BracketsToBin([Enter]))

fputs(id, Query$("What is your address?"))

fclose(id)

ENDIF

Exec("NOTEPAD.EXE", "TEST.TXT")

UserControl("Click on Resume to continue...")

AppClose("Notepad - TEST.TXT")

id2 = fopen("test.txt", "r")

IF id2 != 0

NameLength = len(Name)

fseek(id2, 0, 0)

Name = fread(id2, NameLength)

EnterKey = BinToBrackets(fread(id2, 2))

AddressBegins = ftell(id2)

Address = fgets$(id2)

Message("Your name is {Name}.")

Message("Your address is {Address}.")

Message("EnterKey = {EnterKey}")

Message("The address begins at the {AddressBegins} byte.")

fclose(id2)

ENDIF

END FUNCTION

関連項目

fclose, fgets$, fopen, fputs, ftell,fread, fwrite


ftell

説明

オープンしているファイルのファイルポインタの位置を返します。ファイルポインタとは、次に文字を読み込む位置または直前に文字が書込まれた位置です。

テキストファイルの関数を使用するときには、必ずファイルがオープンされていることを確認してください。

fopen 関数が目的のファイルをオープンできなかった場合は、ファイルの読み書きをしようとしたときに起こる動作は保証できません。

構文

ftell(Handle)

Handle は fopen 関数で返されるファイルのファイルハンドル。

戻り値

ファイル内の位置

例

FUNCTION Example()

DEFSTR string;

id = fopen("test.txt", "w")

IF id != 0

Name = Query$("What is your name?")

fwrite(id, Name)

fwrite(id, BracketsToBin([Enter]))

fputs(id, Query$("What is your address?"))

fclose(id)

ENDIF

Exec("NOTEPAD.EXE", "TEST.TXT")

UserControl("Click on Resume to continue...")

AppClose("Notepad - TEST.TXT")

id2 = fopen("test.txt", "r")

IF id2 != 0

NameLength = len(Name)

fseek(id2, 0, 0)

Name = fread(id2, NameLength)

EnterKey = BinToBrackets(fread(id2, 2))

AddressBegins = ftell(id2)

Address = fgets$(id2)

Message("Your name is {Name}.")

Message("Your address is {Address}.")

Message("EnterKey = {EnterKey}")

Message("The address begins at the {AddressBegins} byte.")

fclose(id2)

ENDIF

END FUNCTION

関連項目

fclose, fgets$, fopen, fputs, fseek, fread, fwrite


FullPageView

説明

現在の表示レベルを全画面に変えます。メニューで <表示(V) ページ全体(F)> を選ぶことと同じです。この関数を使う前に、Ami Pro をレイアウトモードにしておいてください。

構文

FullPageView()

戻り値

1

例

FUNCTION Example()

Again:

View = Query$("ﾋﾞｭｰﾓｰﾄﾞ選択:(E)拡大ｻｲｽﾞ,(F)ﾍﾟｰｼﾞ全体,(A)見開き,(S)標準ｻｲｽﾞ,(W)指定ｻｲｽﾞ")

View = UCASE$(Left$(View, 1))

SWITCH View

CASE "E"

EnlargedView()

CASE "F"

FullPageView()

CASE "A"

FacingView()

CASE "S"

StandardView()

CASE "W"

WorkingView()

default

Message("""E"", ""F"", ""S"", or ""W""を入力してください")

GoTo again

ENDSWITCH

END FUNCTION

関連項目

EnlargedView, FacingView, GetViewLevel, LayoutMode, StandardView, WorkingView


fwrite

説明

オープンしてあるファイルにデータを書き出します。fputs 関数とは違って、ファイルの末尾に CR/LF を付けません。また、行単位の取り扱いはしません。

テキストファイルの関数を使用するときには、必ずファイルがオープンされていることを確認してください。

fopen 関数が目的のファイルをオープンできなかった場合は、ファイルの読み書きをしようとしたときに、何が起こるかは予想できません。

構文

fwrite(Handle,Data[,Len])

Handle は fopen 関数で返されるファイル ID ハンドルです。

Data はファイルに書き込むデータ文字列です。

Len はオプショナルで、送る文字列の長さを指定します。Len が実際のデータ文字列より小さい場合はデータは Len の長さで切られますが大きい場合は、Len の長さになるまで空白を付け加えます。

戻り値

なし

例

FUNCTION Example()

DEFSTR string;

id = fopen("test.txt", "w")

IF id != 0

Name = Query$("What is your name?")

fwrite(id, Name)

fwrite(id, BracketsToBin([Enter]))

fputs(id, Query$("What is your address?"))

fclose(id)

ENDIF

Exec("NOTEPAD.EXE", "TEST.TXT")

UserControl("Click on Resume to continue...")

AppClose("Notepad - TEST.TXT")

id2 = fopen("test.txt", "r")

IF id2 != 0

NameLength = len(Name)

fseek(id2, 0, 0)

Name = fread(id2, NameLength)

EnterKey = BinToBrackets(fread(id2, 2))

AddressBegins = ftell(id2)

Address = fgets$(id2)

Message("Your name is {Name}.")

Message("Your address is {Address}.")

Message("EnterKey = {EnterKey}")

Message("The address begins at the {AddressBegins} byte.")

fclose(id2)

ENDIF

END FUNCTION

関連項目

BracketsToBin, fopen, fclose, BinToBrackets, fseek, fread, fgets$, fputs, ftell


Generate

説明

カレント文書の目次と索引を作成します。

メニューで <ツール(L)/目次索引(N)> を選ぶことと同じです。初めて目次を作成する場合は、作成する前に段落スタイルと目次形式を選択してください。

目次内容ファイルの指定は、Generate の前に SetTOCFile で行います。索引ファイルの指定は Generate の前に SetIndexFile で行います。

構文

Generate(Which)

Which はどのテーブルを作るかの指定で、次の１つです。

GenTOC (101) - 目次を作る

GenIndex (102) - 索引を作る

GenBoth (100) - 両方作る

この引数はゼロでもかまいません。Master Doc では索引も TOC も作られません。ファイルがオープンされ、ページ番号が振り直されます。

ダイログボックスを表示してユーザーが引数を指定するには、Generate とします。

戻り値

1 (TRUE) 	作成されたとき

0 (UserCancel) 	取り消されたとき

-2 (GeneralFailure) 	作成されなかったとき

例

FUNCTION Example()

OnKey([ctrlaltg], Generate, 0)

Message("Press Ctrl+Alt+G to generate a TOC or index.")

END FUNCTION

関連項目

MarkIndexWord


GetAmiDirectory
GetAmiDirectory$

説明

Ami Pro が現在実行しているディレクトリを取り出します。

構文

GetAmiDirectory$()

戻り値

Ami Pro が現在動いているパス名を「\」つなぎの文字列で返します。

例

FUNCTION Example()

AmiDir = GetAmiDirectory$()

WinDir = GetWindowsDirectory$()

CurDir = GetCurrentDir$()

DocPath = GetDocPath$()

StylePath = GetStylePath$()

MacPath = GetMacPath$()

BackPath = GetBackPath$()

Message("Ami Pro ﾃﾞｨﾚｸﾄﾘ : {AmiDir}")

Message("Windows ﾃﾞｨﾚｸﾄﾘ : {WinDir}")

Message("DOS上でのｶﾚﾝﾄﾃﾞｨﾚｸﾄﾘ : {CurDir}")

Message("Ami Pro 文書ﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {DocPath}")

Message("Ami Pro ﾏｸﾛﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {MacPath}")

Message("Ami Pro ｽﾀｲﾙｼｰﾄﾃﾞｨﾚｸﾄﾘ : {StylePath}")

Message("Ami Pro ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {BackPath}")

END FUNCTION

関連項目

GetDocPath$, GetWindowsDirectory$, GetBackPath$, GetMacPath$, GetStylePath$


GetBackPath
GetBackPath$

説明

バックアップファイルを作るために、既定のカレントパス名を取り出します。

構文

GetBackPath$()

戻り値

文書バックアップの現在の既定パス名を「\」つなぎの文字列で返します。

例

FUNCTION Example()

AmiDir = GetAmiDirectory$()

WinDir = GetWindowsDirectory$()

CurDir = GetCurrentDir$()

DocPath = GetDocPath$()

StylePath = GetStylePath$()

MacPath = GetMacPath$()

BackPath = GetBackPath$()

Message("Ami Pro ﾃﾞｨﾚｸﾄﾘ : {AmiDir}")

Message("Windows ﾃﾞｨﾚｸﾄﾘ : {WinDir}")

Message("DOS上でのｶﾚﾝﾄﾃﾞｨﾚｸﾄﾘ : {CurDir}")

Message("Ami Pro 文書ﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {DocPath}")

Message("Ami Pro ﾏｸﾛﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {MacPath}")

Message("Ami Pro ｽﾀｲﾙｼｰﾄﾃﾞｨﾚｸﾄﾘ : {StylePath}")

Message("Ami Pro ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {BackPath}")

END FUNCTION

関連項目

GetCurrentDir$, GetDocPath$, GetMacPath$, GetStylePath$, SetBackPath, SetDocPath, SetStylePath, GetAmiDirectory$, GetWindowsDirectory$


GetBookMarkCount

説明

GetBookMarkNames 用の配列の大きさを返します。

構文

GetBookMarkCount()

戻り値

現在の文書のしおりの数

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

Count = GetBookmarkCount()

IF Count > 0

DIM Bookmarks(Count)

GetBookmarkNames(&Bookmarks)

DeleteMenu(1, "&Bookmarks")

AddMenu(1, "&Bookmarks")

FOR I = 1 to Count

ThisBookmark = Bookmarks(I)

AddMenuItem(1, "&Bookmarks", ThisBookmark, "{MacFile}!Example2({ThisBookmark})", ThisBookmark)

NEXT

ELSE

Message("No bookmarks in this document!")

ENDIF

END FUNCTION

FUNCTION Example2(Bkmk)

MarkBookmark(Bkmk, FindBookmark)

PhysicalPage = GetBookmarkPage(Bkmk)

LogicalPage = PhysicalToLogical(GetBookmarkPage(Bkmk))

Message("{Bkmk} is on physical page {PhysicalPage} and logical page {LogicalPage}.")

END FUNCTION

関連項目

GetBookMarkNames, MarkBookMark, GoToCmd, GoToShade


GetBookMarkNames

説明

しおり名を取り出すための配列の名前と数を返します。

構文

GetBookMarkNames(&Names)

Names は、配列の名前。間接アドレスであることに注意してください。

戻り値

しおりの数

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

Count = GetBookmarkCount()

IF Count > 0

DIM Bookmarks(Count)

GetBookmarkNames(&Bookmarks)

DeleteMenu(1, "&Bookmarks")

AddMenu(1, "&Bookmarks")

FOR I = 1 to Count

ThisBookmark = Bookmarks(I)

AddMenuItem(1, "&Bookmarks", ThisBookmark, "{MacFile}!Example2({ThisBookmark})", ThisBookmark)

NEXT

ELSE

Message("No bookmarks in this document!")

ENDIF

END FUNCTION

FUNCTION Example2(Bkmk)

MarkBookmark(Bkmk, FindBookmark)

PhysicalPage = GetBookmarkPage(Bkmk)

LogicalPage = PhysicalToLogical(GetBookmarkPage(Bkmk))

Message("{Bkmk} is on physical page {PhysicalPage} and logical page {LogicalPage}.")

END FUNCTION

関連項目

GetBookMarkCount, MarkBookMark, GoToCmd, GoToShade


GetBookmarkPage

説明

指定したしおりが始っているページ番号を探します。この番号は現在の文書内での相対的な数です。

ファイルがマスター文書の１ファイルからなるときに、印刷上のページ番号を決定するには PhysicalToLogical 関数を使います。

構文

GetBookmarkPage(BookmarkName)

BookmarkName は、ページを調べる（現在の文書内の）しおりの名前です。

戻り値

指定されたしおりが始まっているページの番号

-2 	しおりが見つからなかったとき

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

Count = GetBookmarkCount()

IF Count > 0

DIM Bookmarks(Count)

GetBookmarkNames(&Bookmarks)

DeleteMenu(1, "&Bookmarks")

AddMenu(1, "&Bookmarks")

FOR I = 1 to Count

ThisBookmark = Bookmarks(I)

AddMenuItem(1, "&Bookmarks", ThisBookmark, "{MacFile}!Example2({ThisBookmark})", ThisBookmark)

NEXT

ELSE

Message("No bookmarks in this document!")

ENDIF

END FUNCTION

FUNCTION Example2(Bkmk)

MarkBookmark(Bkmk, FindBookmark)

PhysicalPage = GetBookmarkPage(Bkmk)

LogicalPage = PhysicalToLogical(GetBookmarkPage(Bkmk))

Message("{Bkmk} is on physical page {PhysicalPage} and logical page {LogicalPage}.")

END FUNCTION

関連項目

GetPageNo, PhycialToLogical, GetBookMarkCount, GetBookMarkNames, GoToCmd, MarkBookMark


GetCurFontInfo

説明

挿入位置のフォントに関する情報を返します。

構文

GetCurFontInfo(&Name, &Color, &Size, &Family)

Name は、フォントの名前です。

Color は、フォントの色です。

Size は、twips（1 inch = 1440 twips） 単位のフォントの大きさです。

Family は、Pitch と Family を含むビット値で、これらを取り出すには、bitwise 演算子 OR(|) を使います。

間接アドレスであることに注意してください。

戻り値

なし

例

FUNCTION Example()

DEFSTR Name, Color, Size, Family;

GetCurFontInfo(&Name, &Color, &Size, &Family)

Size = ((Size / 20) + 2) * 20

FontChange(Name, Family, Color, Size)

END FUNCTION

関連項目

FontChange, FontFaceChange, FontPointSizeChange, FontRevert


GetCurFrameBorders

説明

指定の枠に関して境界情報を返します。

構文

GetCurFrameBorders(&Width, &Height, &Top, &Left, &LeftMargin,&TopMargin,&RightMargin,&BottomMargin)

Width は、指定された枠の幅

Hight は、高さ

Top は、垂直方向の開始位置

Left は、水平方向の開始位置

LeftMargin は、左端の大きさ

TopMargin は、上端の大きさ

RightMargin は、右端の大きさ

BottomMargin は、下端の大きさ

値はすべて twips（1 inch = 1440 twips） 単位で返します。

間接アドレスであることに注意してください。

戻り値

なし

例

FUNCTION Example()

DEFSTR Width, Height, Top, Left, LM, TM, RM, BM, Units;

WHILE not IsFrameSelected()

UserControl("Please select a frame and choose Resume.")

WEND

GetCurFrameBorders(&Width, &Height, &Top, &Left, &LM, &TM, &RM, &BM, &Units)

Message("The frame's dimensions are {Width} x {Height}.")

Message("The frame starts {Top} twips from the top of the page.")

Message("The frame starts {Left} twips from the left edge of the page.")

Message("The margins (in twips) of the frame are (T,B,L,R): {TM}, {BM}, {LM}, {RM}")

END FUNCTION

関連項目

FrameModBorders, FrameLayout


GetCurFrameLines

説明

指定の外枠線や影に関する情報を返します。

構文

GetCurFrameLines(&Border, &Postype, &Thicktype, &Shadetype, &Backtype, &ShadowColor, &ShadowLeft, &ShadowTop, &ShadowRight, &ShadowBottom, Units)

Border は、外枠線の種類。

Postype は、外枠線の位置で次の中から１つを指定します。

1 - 中間

2 - 内側

3 - 外側

5 - 外側寄り

Thicktype は外枠線の太さで次の中から１つを指定します。

Hairline (1) - 極細線

OnePoint (2) - １ポイント線

TwoPoint (3) - ２ポイント線

ThreePoint (4) - ３ポイント線

FourPoint (5) - ４ポイント線

FivePoint (6) - ５ポイント線

SixPoint (7) - ６ポイント線

DoubleOnePoint (8) - １ポイント線２本

DoubleTwoPoint (9) - ２ポイント線２本

ThreeLines (10) - 極細線が２ポイント線の上下に付く３本線

HairBelow (11) - 極細線が３ポイント線の下に付く２本線

HairAbove (12) - 極細線が３ポイント線の上に付く２本線

DotHairline (13) - 極細の点線

DotOnePoint (14) - １ポイントの点線

DotTwoPoint (15) - ２ポイントの点線

DashHairline (16) - 極細の破線

DashOnePoint (17) - １ポイントの破線

DashTwoPoint (18) - ２ポイントの破線

DsdotHairline (19) - 極細の一点破線

DsdotOnePoint (20) - １ポイントの一点破線

DsdotTwoPoint (21) - ２ポイントの一点破線

DsddHairLine (28) - 極細の二点波線

DsddOnePoint (29) - １ポイントの二点波線

DsddTwoPoint (30) - ２ポイントの二点波線

WaveOnePoint (37) - １ポイントの波線

WaveTwoPoint (38) - ２ポイントの波線

DWaveOnePoint (39) - １ポイントの二重波線

DWaveTwoPoint (40) - ２ポイントの二重波線

Slant1 (41) - 太い縄目線

Slant2 (42) - 縄目線

Dots (43) - 中点線

Star (60) - 星のデザインの飾り線

Rope (61) - 縄のデザインの飾り線

Deco1 (62) - アールデコ調の飾り線１

Deco2 (63) - アールデコ調の飾り線２

Circle (64) - 円を型取った飾り線

Memo (90) - メモのデザインの飾り線

Rose (91) - 薔薇のデザインの飾り線

Sunflower (92) - ひまわりのデザインの飾り線

Deco3 (93) - アールデコ調の飾り線３

Shadetype は、線の色。

Backtype は、背景色。

Shadowcolor は枠の影の色で、次の値の中から１つを選んで代入します。

赤 - 255

橙 - 33279

黄 - 65535

緑 - 65280

水色 - 16776960

淡青 - 16744448

青 - 16727905

紫 - 16711809

赤紫 - 16711935

ピンク - 8388863

白 - 16777215

黒 - 0

次の引数は、指定した側の枠に付いている影の長さを決定します。引数はゼロか、または正の整数です。twips で値を決定するには希望するインチの長さに 1440 (1 inch = 1440 twips)を掛けます。

None (0) - 影なし

Shallow (57) - 細い影

Normal (100) - 標準の影

Deep (172) - 太い影

Shadowleft は枠の左側からの、オフセットになっている影の長さ(1 inch = 1440 twips)です。

Shadowtop は枠の上からの、オフセットになっている影の長さ(1 inch = 1440 twips)です。

Shadowright は枠の右側からの、オフセットになっている影の長さ(1 inch = 1440 twips)です。

Shwdowbottom は枠の下からの、オフセットになっている影の長さです。

Units は単位の種類で次の中から１つ指定できます。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

インデントの長さは twips(1 inch = 1440 twips)で渡されなければなりません。twips で値を決定するには希望するインチの長さに 1440 (1 inch = 1440 twips)を掛けます。

戻り値

なし

例

FUNCTION Example()

WHILE not IsFrameSelected()

UserControl("Please select or create frame.")

WEND

DEFSTR Border, Pos, Thick, Shade, Background, ShadowColor, SL, ST, SR, SB Units;

GetCurFrameLines(&Border, &Thick, &Shade, &Background, &ShadowColor, &SL, &ST, &SR, &SB, &Units)

TYPE("[ESC]Frame Border: {Border}[Enter]Frame Pos: {Pos}[Enter]")

TYPE("Line Thickness: {Thick}[Enter]Line Shading: {Shade}[Enter]")

TYPE("Shadow Background: {Background}[Enter]Bkgrnd Color: {ShadowColor}[Enter]")

TYPE("Shadow Left: {SL}[Enter]Shadow Right: {SR}[Enter]")

TYPE("Shadow Top: {ST}[Enter]Shadow Bottom: {SB}[Enter]")

END FUNCTION

関連項目

FrameModBorders, FrameModFinish, FrameModInit, FrameModType


GetCurFrameType

説明

枠の型、枠の角丸め、枠に割り当てられているマクロに関する情報を返します。

構文

GetCurFrameType(&Type, &Rounded, &MacroName)

Type は、枠の型

Rounded は、枠の角丸めのパーセンテージ (100％＝円）

MacroName は、枠に付属しているマクロがあれば、その名前

戻り値

なし

例

FUNCTION Example()

DEFSTR Type, Rounded, MacroName;

WHILE not IsFrameSelected()

UserControl("Please select or create a frame.")

WEND

GetCurFrameType(&Type, &Rounded, &MacroName)

Message("The type number of this frame is {Type}.")

Message("The percentage of corner rounding on this frame is {Rounded}.")

IF MacroName != ""

Message("The macro attached to this frame is {MacroName}.")

ELSE

Message("There is no macro attached to this frame.")

ENDIF

END FUNCTION

関連項目

FrameModType, FrameLayout


GetCurrentDir
GetCurrentDir$

説明

Ami Pro 、Windows、DOS で見られるカレントディレクトリを返します。

構文

GetCurrentDir$()

戻り値

現在動作中のディレクトリを「\」つなぎの文字列で返します。

例

FUNCTION Example()

AmiDir = GetAmiDirectory$()

WinDir = GetWindowsDirectory$()

CurDir = GetCurrentDir$()

DocPath = GetDocPath$()

StylePath = GetStylePath$()

MacPath = GetMacPath$()

BackPath = GetBackPath$()

Message("Ami Pro ﾃﾞｨﾚｸﾄﾘ : {AmiDir}")

Message("Windows ﾃﾞｨﾚｸﾄﾘ : {WinDir}")

Message("DOS上でのｶﾚﾝﾄﾃﾞｨﾚｸﾄﾘ : {CurDir}")

Message("Ami Pro 文書ﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {DocPath}")

Message("Ami Pro ﾏｸﾛﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {MacPath}")

Message("Ami Pro ｽﾀｲﾙｼｰﾄﾃﾞｨﾚｸﾄﾘ : {StylePath}")

Message("Ami Pro ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {BackPath}")

END FUNCTION

関連項目

GetBackPath$, GetDocPath$, GetMacPath$, GetStylePath$, GetAmiDirectory$, GetWindowsDirectory$


GetDialogField
GetDialogField$

説明

最後に呼び出した DialogBox 関数で表示したダイアログボックスの項目の内容を取り出します。

この関数を使う前に、ユーザーは DialogBox 関数を取り消してはいけません。この関数の結果は無意味になります。

構文

GetDialogField$(FieldID)

FieldId は、取り出す値のある項目の ID 番号で、リソースファイルで決められた形です。

戻り値

項目がテキストボックスかリストボックスか、コンボボックスのときは、80バイトまでの文字列。

0 (FALSE) 	該当するのが押しボタンで、チェックも選択もされなかったとき

1 (TRUE) 	該当するのが押しボタンで、チェックされたか選択されたとき

例

FUNCTION Example()

Name = GetProfileString$("AmiPro", "UserName", "AMIPRO.INI")

FillEdit(8005, Name)

DIM Filters(10)

FOR I = 1 to 10

Filters(I) = strfield$(GetProfileString$("AmiPro", "application{I}", "AMIPRO.INI"), 1, ",")

FillList(Filters(I))

NEXT

FOR I = 1 to 10

FillEdit(9500, Filters(I))

NEXT

FillEdit(50, TRUE)

FillEdit(55, TRUE)

Box = DialogBox(".", "ExBox")

IF Box = -1

Message("Could not open dialog box; Exiting macro.")

EXIT FUNCTION

ELSEIF Box = 0

EXIT FUNCTION

ENDIF

Name2 = GetDialogField$(8005)

IF Name != Name2

IF Decide("Do you want to save your changes?")

WriteProfileString("AmiPro", "UserName", Name2, "AMIPRO.INI")

ENDIF

ENDIF

END FUNCTION

DIALOG ExBox

-2134376448 14 104 36 198 90 "" "" "Sample Dialog Box"

FONT 14 "System"

4 6 42 10 1000 1342308352 "static" "&User Name:" 0

52 4 92 12 8005 1350631552 "edit" "" 0

4 24 34 8 1001 1342308352 "static" "&Filters:" 0

4 34 66 52 9000 1352728579 "listbox" "" 0

74 24 52 8 1002 1342308352 "static" "&More Filters:" 0

74 34 70 40 9500 1344339971 "combobox" "" 0

74 46 60 40 24 1342308359 "button" "Group Box #1" 0

78 58 50 10 50 1342242825 "button" "Radio #1" 0

78 70 50 10 51 1342177289 "button" "Radio #2" 0

138 46 56 40 25 1342308359 "button" "Group Box #2" 0

142 56 48 12 55 1342242819 "button" "Check #1" 0

142 68 48 12 56 1342177283 "button" "Check #2" 0

154 4 40 14 1 1342373889 "button" "OK" 0

154 20 40 14 2 1342373888 "button" "Cancel" 0

END DIALOG

関連項目

Dialogbox, FillEdit, FillList, SetDlgCallback, GetDlgItem, GetDlgItemText, SetDlgItemText


GetDlgItem

説明

指定されたコントロールとオブジェクトのための Windows のウィンドウハンドルを返します。

構文

GetDlgItem(Hdlg, ID)

Hdlg は、callback 関数に渡されるダイアログボックスのハンドル。

ID は、ハンドルを得たいオブジェクトの ID 番号。

戻り値

指定されたコントロールやオブジェクトのための Windows のウィンドウメッセージハンドル

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

SetDlgCallBack(50, "{MacFile}!ClearBox")

FOR I = 1 to 10

FillEdit(9000, I)

NEXT

Box = DialogBox(".", "ExBox")

END FUNCTION

FUNCTION ClearBox(hdlg, id, text)

handle = GetDlgItem(hdlg, 9000)

AppSendMessage(handle, 0x0405, 0, 0)

Message("ﾘｽﾄﾎﾞｯｸｽの内容をｸﾘｱし､表示内容を再設定します")

FOR I = 1 to 10

SetDlgItemText(hdlg, 9000, I)

NEXT

END FUNCTION

DIALOG ExBox

-2134376448 4 169 46 106 76 "" "" "Example Dialog Box"

FONT 14 "System"

62 3 42 14 2 1342242817 "button" "DONE" 0

62 19 42 14 50 1342242816 "button" "Re-Fill Box" 0

4 12 52 61 9000 1352728579 "listbox" "" 0

5 2 51 9 1000 1342177280 "static" "Number:" 0

END DIALOG

関連項目

Dialogbox, FillEdit, FillList, SetDlgCallback, GetDlgItemText, SetDlgItemText


GetDlgItemText

説明

ダイアログボックスのオブジェクト項目の内容を返します。

構文

GetDlgItemText(Hdlg, ID)

Hdlg は、callback 関数に渡されるダイアログボックスのハンドル。

ID は目的のオブジェクトの ID 番号。ID がオプションボタンかチェックボックスであれば、テキストは、TRUE か FALSE の状態を返します。

戻り値

指定されたオブジェクトの内容。

オブジェクトがボタンであれば、TRUE または FALSE を返します。

オブジェクトがテキストボックスかリストボックスかコンボボックスであれば、文字列を返します。

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

SetDlgCallBack(50, "{MacFile}!Message1")

Box = DialogBox(".", "ExBox")

IF Box = -1

Message("Could not find dialog box!")

EXIT FUNCTION

ELSEIF Box = 0

EXIT FUNCTION

ENDIF

TYPE(GetDialogField$(8002))

END FUNCTION

FUNCTION Message1(hdlg, id, text)

Name = GetDlgItemText(hdlg, 8000)

Message("最初のボックスに設定されたのは{Name}です")

Message("{Name}を前後反転させたものを二番目のボックスに設定します")

FOR I = klen(Name) to 1 step -1

Name2 = strcat$(Name2, KMID$(Name, I, 1))

NEXT

SetDlgItemText(hdlg, 8002, Name2)

END FUNCTION

DIALOG ExBox

-2134376448 8 106 38 160 54 "" "" "Sample Dialog Box"

FONT 14 "System"

50 6 62 12 8000 1350631552 "edit" "" 0

4 6 44 10 1000 1342177280 "static" "Your Name:" 0

50 20 62 12 1003 1342177287 "static" "" 0

4 22 44 10 1002 1342177280 "static" "Reversed:" 0

52 22 58 8 8002 1342177280 "static" "" 0

116 4 40 14 1 1342242817 "button" "OK" 0

116 20 40 14 2 1342242816 "button" "Cancel" 0

100 36 56 14 50 1342242816 "button" "&Run 例..." 0

END DIALOG

関連項目

SetDlgCallback, GetDlgItem, SetDlgItemText, Dialogbox, FillEdit, FillList, GetDialogField$


GetDocInfo
GetDocInfo$

説明

現在の文書から文書情報のフィールドを取り出します。

構文

GetDocInfo$(Whitch)

Whitch は取り出す文書情報フィールドで次のいずれかを指定します。

DDFilename (1) - ファイル名

DDPath (2) - パス名

DDStylesheet (3) - スタイルシート

DDCreated (4) - 作成日

DDRevised (5) - 更新日

DDRevisions (6) - リビジョン番号

DDDescription (7) - 文書情報

DDUser1 (8) - ユーザー指定のフィールド１

DDUser2 (9) - ユーザー指定のフィールド２

DDUser3 (10) - ユーザー指定のフィールド３

DDUser4 (11) - ユーザー指定のフィールド４

DDUser5 (12) - ユーザー指定のフィールド５

DDUser6 (13) - ユーザー指定のフィールド６

DDUser7 (14) - ユーザー指定のフィールド７

DDUser8 (15) - ユーザー指定のフィールド８

戻り値

指定された文書情報フィールドの文字列

例

FUNCTION Example()

Message("Ready to type the contents of the Doc Info fields into the document.")

DIM Field(15)

FOR I = 1 to 15

Field(I) = GetDocInfo$(I)

NEXT

Filename = Field(1)

Path = Field(2)

Style = Field(3)

Created = Field(4)

Revised = Field(5)

Number = Field(6)

Descrip = Field(7)

TYPE("The current filename is {Filename}.[Enter]")

TYPE("The path for this document is {Path}.[Enter]")

TYPE("The style sheet for this document is {Style}.[Enter]")

TYPE("This document was created on {Created}.[Enter]")

TYPE("This document was last revised on {revised}.[Enter]")

TYPE("This document has been revised {Number} times.[Enter]")

TYPE("The document Description for this document states:[Enter]{Descrip}.[Enter]")

FOR I = 1 to 8

ThisField = Field(I + 7)

IF ThisField != ""

TYPE("User defined field {I} of this document contains: {ThisField}.[Enter]")

ELSE

TYPE("User defined field {I} contains nothing.[Enter]")

ENDIF

NEXT

END FUNCTION

関連項目

DocInfo, RenameDocInfoField, InsertDocInfo, InsertDocInfoField


GetDocInfoKeywords
GetDocInfoKeywords$

説明

<文書情報(D)> ダイアログボックスからキーワード項目を返します。

構文

GetDocInfoKeywords$()

戻り値

キーワード項目

例

FUNCTION Example()

Words=GetDocInfoKeywords$()

Message ("The Keywords for this doc are:{Words}.")

END FUNCTION

関連項目

GetDocInfo$


GetDocPath
GetDocPath$

説明

文書保存パス名の現在の既定値を取り出します。

構文

GetDocPath$()

戻り値

文書パスの現在の既定値を「\」つなぎの文字列で返します。

例

FUNCTION Example()

AmiDir = GetAmiDirectory$()

WinDir = GetWindowsDirectory$()

CurDir = GetCurrentDir$()

DocPath = GetDocPath$()

StylePath = GetStylePath$()

MacPath = GetMacPath$()

BackPath = GetBackPath$()

Message("Ami Pro ﾃﾞｨﾚｸﾄﾘ : {AmiDir}")

Message("Windows ﾃﾞｨﾚｸﾄﾘ : {WinDir}")

Message("DOS上でのｶﾚﾝﾄﾃﾞｨﾚｸﾄﾘ : {CurDir}")

Message("Ami Pro 文書ﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {DocPath}")

Message("Ami Pro ﾏｸﾛﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {MacPath}")

Message("Ami Pro ｽﾀｲﾙｼｰﾄﾃﾞｨﾚｸﾄﾘ : {StylePath}")

Message("Ami Pro ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {BackPath}")

END FUNCTION

関連項目

GetBackPath$, GetCurrentDir$, GetMacPath$, GetStylePath$, SetBackPath, SetDocPath, SetStylePath, GetAmiDirectory$, GetWindowsDirectory$


GetGlobalArray
GetGlobalArray$

説明

グローバル配列の要素を返します。

グローバル変数は関数やステートメントでは直接は使えません。使う前に、ローカル変数に割り当てなければなりません。

構文

GetGlobalArray$(Name, Index)

Name は、使用するグローバル変数の名前または番号です。

Index は、取り出すグローバル変数配列の要素です。

戻り値

グローバル配列要素の値

例

FUNCTION Example()

AllocGlobalVar("Names", 5)'Allocate space for a 5 element global variable

AllocGlobalVar("Numbers", 5)'Allocate space for a 5 element global variable

AllocGlobalVar("YourName", 1)'Allocate space for a single element global variable.

FOR I = 1 to 5'Do the following 5 times.

SetGlobalArray("Names", I, Query$("Enter Name Number {I}"))

'Fill a global array with the return from QUERY

SetGlobalArray("Numbers", I, (100/I))'Fill a global array with a number

NEXT

NewName = Query$("What is your name?")'Query the user for his/her name

SetGlobalVar("YourName", NewName)'Set a global variable to that value

CALL Example2()'Call the following function

END FUNCTION

FUNCTION Example2()

Name = GetGlobalVar$("YourName")'Get the value of the global variable

Message("Your name is {Name}.")'Message that value in a box.

FOR I = 1 to 5'Do the following 5 times.

TheirName = GetGlobalArray$("Names", I)'Get the value of the current element from the array

TheirNumber = GetGlobalArray$("Numbers", I)'Get the value of the current element from the array

TYPE("Name #{I} is {TheirName}, and the number is {TheirNumber}.[Enter]")

'Type the values to the screen.

NEXT

FreeGlobalVar("Names")'Clear the space for the first global array

FreeGlobalVar("Numbers")'Clear the space for the second global array

FreeGlobalVar("YourName")'Clear the space for the global variable

END FUNCTION

関連項目

AllocGlobalVar, FreeGlobalVar, GetGlobalVar$, SetGlobalArray, SetGlobalVar, 変数


GetGlobalVar
GetGlobalVar$

説明

グローバル変数の値を返します。

グローバル変数は関数やステートメントでは直接は使えません。使う前に、ローカル変数に割り当てなければなりません。

構文

GetGlobalVar$(Name)

Name は、データを取り出すグローバル変数の名前または番号です。

戻り値

グローバル変数の値

例

FUNCTION Example()

AllocGlobalVar("Names", 5)'Allocate space for a 5 element global variable

AllocGlobalVar("Numbers", 5)'Allocate space for a 5 element global variable

AllocGlobalVar("YourName", 1)'Allocate space for a single element global variable.

FOR I = 1 to 5'Do the following 5 times.

SetGlobalArray("Names", I, Query$("Enter Name Number {I}"))

'Fill a global array with the return from QUERY

SetGlobalArray("Numbers", I, (100/I))'Fill a global array with a number

NEXT

NewName = Query$("What is your name?")'Query the user for his/her name

SetGlobalVar("YourName", NewName)'Set a global variable to that value

CALL Example2()'Call the following function

END FUNCTION

FUNCTION Example2()

Name = GetGlobalVar$("YourName")'Get the value of the global variable

Message("Your name is {Name}.")'Message that value in a box.

FOR I = 1 to 5'Do the following 5 times.

TheirName = GetGlobalArray$("Names", I)'Get the value of the current element from the array

TheirNumber = GetGlobalArray$("Numbers", I)'Get the value of the current element from the array

TYPE("Name #{I} is {TheirName}, and the number is {TheirNumber}.[Enter]")

'Type the values to the screen.

NEXT

FreeGlobalVar("Names")'Clear the space for the first global array

FreeGlobalVar("Numbers")'Clear the space for the second global array

FreeGlobalVar("YourName")'Clear the space for the global variable

END FUNCTION

関連項目

AllocGlobalVar, FreeGlobalVar, GetGlobalArray$, SetGlobalArray, SetGlobalVar, 変数


GetGlobalVarCount

説明

現在割り当てられているグローバル変数の総数を返します。通常は、GetGlobalVarNames 関数を呼び出す前に、配列の大きさを知るために使います。

構文

GetGlobalVarCount()

戻り値

現在割り当てられているグローバル変数の総数

例

FUNCTION Example()

Again:

Count = GetGlobalVarCount()

IF Count < 1

Count = 1

ELSE

DIM Globals(Count)

GetGlobalVarNames(&Globals)

FillEdit(9000, &Globals)

ENDIF

Box = DialogBox(".", "ExampleBox")

IF Box = 0

EXIT FUNCTION

ELSEIF Box = 3 AND GetDialogField$(9000) != ""

FreeGlobalVar(GetDialogField$(9000))

ELSEIF Box = 4 AND GetDialogField$(9000) != ""

Message(GetGlobalVar$(GetDialogField$(9000)))

ELSEIF Box = 5

AllocGlobalVar(Query$("Name for new global variable:"), Query$("Number of elements?"))

ELSEIF Box = 6 AND GetDialogField$(9000) != ""

SetGlobalVar(GetDialogField$(9000), Query$("What do you want in it?"))

ENDIF

GoTo Again

END FUNCTION

DIALOG ExampleBox

-2134376448 7 98 20 160 102 "" "" "Global Variables"

FONT 12 "System"

116 4 40 14 2 1342242817 "button" "Done" 0

116 20 40 14 3 1342242816 "button" "Free" 0

116 36 40 14 4 1342242816 "button" "Show..." 0

116 52 40 14 5 1342242816 "button" "Allocate..." 0

116 68 40 14 6 1342242816 "button" "Set..." 0

6 14 102 82 9000 1352728579 "listbox" "" 0

8 4 98 8 1000 1342177280 "static" "Currently Allocated Globals:" 0

END DIALOG

関連項目

GetGlobalVarNames, AllocGlobalVar, SetGlobalVar, SetGlobalArray, GetGlobalVar$, GetGlobalArray$


GetGlobalVarNames

説明

現在割り当てられているすべてのグローバル変数の名前あるいは ID 番号を返します。

構文

GetGlobalVarNames(&Array)

Array は、現在割り当てられているグローバル変数の名前あるいは ID 番号を入れる配列の名前。間接アドレスであることに注意。

戻り値

グローバル分散の数

例

FUNCTION Example()

Again:

Count = GetGlobalVarCount()

IF Count < 1

Count = 1

ELSE

DIM Globals(Count)

GetGlobalVarNames(&Globals)

FillEdit(9000, &Globals)

ENDIF

Box = DialogBox(".", "ExampleBox")

IF Box = 0

EXIT FUNCTION

ELSEIF Box = 3 AND GetDialogField$(9000) != ""

FreeGlobalVar(GetDialogField$(9000))

ELSEIF Box = 4 AND GetDialogField$(9000) != ""

Message(GetGlobalVar$(GetDialogField$(9000)))

ELSEIF Box = 5

AllocGlobalVar(Query$("Name for new global variable:"), Query$("Number of elements?"))

ELSEIF Box = 6 AND GetDialogField$(9000) != ""

SetGlobalVar(GetDialogField$(9000), Query$("What do you want in it?"))

ENDIF

GoTo Again

END FUNCTION

DIALOG ExampleBox

-2134376448 7 98 20 160 102 "" "" "Global Variables"

FONT 12 "System"

116 4 40 14 2 1342242817 "button" "Done" 0

116 20 40 14 3 1342242816 "button" "Free" 0

116 36 40 14 4 1342242816 "button" "Show..." 0

116 52 40 14 5 1342242816 "button" "Allocate..." 0

116 68 40 14 6 1342242816 "button" "Set..." 0

6 14 102 82 9000 1352728579 "listbox" "" 0

8 4 98 8 1000 1342177280 "static" "Currently Allocated Globals:" 0

END DIALOG

関連項目

GetGlobalVarCount, AllocGlobalVar, SetGlobalVar, SetGlobalArray, GetGlobalVar$, GetGlobalArray$


GetLayoutLeftLines

説明

現在のページに付随している線に関する情報を返します。

構文

GetLayoutLeftLines(&Guttershade,&Gutterstyle,&Bordersides,&Borderstyle,&Borderspace)

Guttershade は線の色です。

Gutterstyle と Borderstyle は線の幅と種類で、次の中から１つを指定します。

1 - 1.5ポイント幅

2 - １ポイント幅

3 - ２ポイント幅

4 - ４ポイント幅

5 - ６ポイント幅

6 - ８ポイント幅

7 - 12ポイント幅

8 - １ポイント線を２本

9 - ２ポイント線を２本

10 - １ポイント線、２ポイント線、１ポイント線の３本

11 - １ポイント線の上に２ポイント線

12 - ２ポイント線の上に１ポイント線

13 - 極細の点線

14 - １ポイントの点線

15 - ２ポイントの点線

16 - 極細の破線

17 - １ポイントの破線

18 - ２ポイントの破線

19 - 極細の一点破線

20 - １ポイントの一点破線

21 - ２ポイントの一点破線

28 - 極細の二点波線

29 - １ポイントの二点波線

30 - ２ポイントの二点波線

37 - １ポイントの波線

38 - ２ポイントの波線

39 - １ポイントの二重波線

40 - ２ポイントの二重波線

41 - 太い縄目線

42 - 縄目線

43 - 中点線

60 - 星のデザインの飾り線

61 - 縄のデザインの飾り線

62 - アールデコ調の飾り線１

63 - アールデコ調の飾り線２

64 - 円を型取った飾り線

90 - メモのデザインの飾り線

91 - 薔薇のデザインの飾り線

92 - ひまわりのデザインの飾り線

93 - アールデコ調の飾り線３

Bordersides は線がページのどこにあるかを示すもので、次の１つまたは組み合わせです。

1 - 全体

2 - 左

4 - 右

8 - 上

16 - 下

組み合わせ内容を区分するには、ビット演算子 OR(|) を使います。

１頁だけの形式のときには、Right の値が使われます。

Borderspace は印刷頁がどれだけ境界に近いかを示すもので、次のいずれかです。

1 - 中間

2 - 内部

3 - 外部

4 - 内部寄り

5 - 外部寄り

アドレス渡しであることに注意してください。

戻り値

なし

例

FUNCTION Example()

DEFSTR Gshade, Gstyle, Bsides, Bstyle, Bspace;

GetLayoutLeftLines(&Gshade, &Gstyle, &Bsides, &Bstyle, &Bspace)

TYPE("The color of the lines is: {Gshade}.[Enter]")

TYPE("The width of the gutter is: {Gstyle}.[Enter]")

TYPE("The lines are placed: {Bsides}.[Enter]")

TYPE("The style of the border is: {Bstyle}.[Enter]")

TYPE("The location of the lines is: {Bspace}.[Enter]")

END FUNCTION

関連項目

GetLayoutPageSize, GetLayoutParameters, GetLayoutParmCnt, GetLayoutRightLines, GetLayoutType, ModifyLayout


GetLayoutPageSize

説明

現在のページのページサイズに関する情報を返します。

構文

GetLayoutPageSize(&Length,&Width,&Units,&Papertype)

Length はページの長さで twips（1 inch = 1440 twips） 単位です。

Width はページの幅で twips（1 inch = 1440 twips） 単位です。

Units はページの大きさの単位で次の中から１つを指定します。

1   インチ

2   センチメートル

3   パイカ

4   ポイント数

Papertype はあらかじめ決められた用紙の種類で次の中から１つを指定します。

1   レター

2   B4

3   A3

4   A4

5   A5

6   B5

7   指定

8   はがき

アドレス渡しであることに注意してください。

戻り値

なし

例

FUNCTION Example()

DEFSTR Length, Width, Units, Papertype;

GetLayoutPageSize(&Length, &Width, &Units, &Papertype)

TYPE("The length of the page is {Length} twips.[Enter]")

TYPE("The width of the page is {Width} twips.[Enter]")

SWITCH Units

CASE 1

Units = "inches"

CASE 2

Units = "centimeters"

CASE 3

Units = "picas"

CASE 4

Units = "Points"

ENDSWITCH

TYPE("The current page measurements are in {Units}.[Enter]")

TYPE("The current paper type is {Papertype} (where 1 = Letter, 2 = Legal, 3 = A3, 4 = A4, 5 = A5, 6 = B5, and 7 = Custom).[Enter]")

END FUNCTION

関連項目

GetLayoutLeftLines, GetLayoutParameters, GetLayoutParmCnt, GetLayoutRightLines, GetLayoutType, ModifyLayout


GetLayoutParameters

説明

現在のページのマージン、桁、タブ情報を返します。

構文

GetLayoutParameters(Whitch,&Parms)

Whitch は情報を得るページレイアウトの型で、次のいずれかの関数を指定します。

右ページ

右ヘッダ

右フッタ

左ページ

左ヘッダ

左フッタ

Parms は GetLayoutParmCnt の戻り値の大きさで作られた配列です。

アドレス渡しであることに注意してください。

戻り値

なし

例

FUNCTION Example()

Cnt = GetLayoutParmCnt(ModLayoutRightPage)'Get number of parameters for ModLayoutRightPage

DIM Stuff(Cnt)'Dimension an array for that amount

GetLayoutParameters(ModLayoutRightPage, &Stuff)'Get the parameters and place in the array

length = Query$("New length of right/all headers?")'Query for new headers lengthh

width = Query$("New width of right/all headers?")'Query for new headers height.

Stuff(1) = length * 1440'Turn into twips

Stuff(2) = width * 1440'Turn into twips

ModLayoutInit(512)'Prep Ami Pro to accept Layout changes for all pages

AmiProIndirect(ModLayoutRightPage, &Stuff, Cnt)'Apply changes to specified function.

ModLayoutFinish()'Tell Ami Pro to accept the specified changes

END FUNCTION

関連項目

GetLayoutLeftLines, GetLayoutPageSize, GetLayoutParmCnt, GetLayoutRightLines, GetLayoutType, ModifyLayout


GetLayoutParmCnt

説明

GetLayoutParameters 関数で返される引数の数を知って、その関数用の配列の大きさを知ります。

構文

GetLayoutParmCnt(Which)

Which は、情報を取り出すページレイアウトのタイプで、次のいずれかです。

右ページ

右ヘッダ

右フッタ

左ページ

左ヘッダ

左フッタ

戻り値

指定された関数の引数の数

例

FUNCTION Example()

Cnt = GetLayoutParmCnt(ModLayoutRightPage)'Get number of parameters for ModLayoutRightPage

DIM Stuff(Cnt)'Dimension an array for that amount

GetLayoutParameters(ModLayoutRightPage, &Stuff)'Get the parameters and place in the array

length = Query$("New length of right/all headers?")'Query for new headers lengthh

width = Query$("New width of right/all headers?")'Query for new headers height.

Stuff(1) = length * 1440'Turn into twips

Stuff(2) = width * 1440'Turn into twips

ModLayoutInit(512)'Prep Ami Pro to accept Layout changes for all pages

AmiProIndirect(ModLayoutRightPage, &Stuff, Cnt)'Apply changes to specified function.

ModLayoutFinish()'Tell Ami Pro to accept the specified changes

END FUNCTION

関連項目

GetLayoutLeftLines, GetLayoutPageSize, GetLayoutParameters, GetLayoutRightLines, GetLayoutType, ModifyLayout


GetLayoutRightLines

説明

現在のページに付随している線に関する情報を返します。

構文

GetLayoutRightLines(&Guttershade,&Gutterstyle,&Bordersides,&Borderstyle,&Borderspace)

Guttershade は線の色です。

Gutterstyle と Borderstyle は 線の幅と種類で、次の中から１つを指定します。

1 - 1.5ポイント幅

2 - １ポイント幅

3 - ２ポイント幅

4 - ４ポイント幅

5 - ６ポイント幅

6 - ８ポイント幅

7 - 12ポイント幅

8 - １ポイント線を２本

9 - ２ポイント線を２本

10 - １ポイント線、２ポイント線、１ポイント線の３本

11 - １ポイント線の上に２ポイント線

12 - ２ポイント線の上に１ポイント線

13 - 極細の点線

14 - １ポイントの点線

15 - ２ポイントの点線

16 - 極細の破線

17 - １ポイントの破線

18 - ２ポイントの破線

19 - 極細の一点破線

20 - １ポイントの一点破線

21 - ２ポイントの一点破線

28 - 極細の二点波線

29 - １ポイントの二点波線

30 - ２ポイントの二点波線

37 - １ポイントの波線

38 - ２ポイントの波線

39 - １ポイントの二重波線

40 - ２ポイントの二重波線

41 - 太い縄目線

42 - 縄目線

43 - 中点線

60 - 星のデザインの飾り線

61 - 縄のデザインの飾り線

62 - アールデコ調の飾り線１

63 - アールデコ調の飾り線２

64 - 円を型取った飾り線

90 - メモのデザインの飾り線

91 - 薔薇のデザインの飾り線

92 - ひまわりのデザインの飾り線

93 - アールデコ調の飾り線３

Bordersides は線がページのどこにあるかを示すもので、次の１つまたは組み合わせです。

1 - 全体

2 - 左

4 - 右

8 - 上

16 - 下

組み合わせ内容を区分するには、ビット演算子 OR(|) を使います。

Borderspace は印刷頁がどれだけ境界に近いかを示すもので、次のいずれかです。

1 - 中間

2 - 内部

3 - 外部

4 - 内部寄り

5 - 外部寄り

アドレス渡しであることに注意してください。

戻り値

なし

例

FUNCTION Example()

DEFSTR Gshade, Gstyle, Bsides, Bstyle, Bspace;

GetLayoutRightLines(&Gshade, &Gstyle, &Bsides, &Bstyle, &Bspace)

TYPE("The color of the lines is: {Gshade}.[Enter]")

TYPE("The width of the gutter is: {Gstyle}.[Enter]")

IF 1 & Bsides Sides = "All" ENDIF

IF 2 & Bsides IF Sides = "" Sides = "Left" ELSE Sides = strcat$(Sides, "and Left") ENDIF ENDIF

IF 4 & Bsides IF Sides = "" Sides = "Right" ELSE Sides = strcat$(Sides, "and Right") ENDIF ENDIF

IF 8 & Bsides IF Sides = "" Sides = "Top" ELSE Sides = strcat$(Sides, "and Top") ENDIF ENDIF

IF 16 & Bsides IF Sides = "" Sides = "Bottom" ELSE Sides = strcat$(Sides, "and Bottom") ENDIF ENDIF

TYPE("The lines are placed: {Sides}.[Enter]")

TYPE("The style of the border is: {Bstyle}.[Enter]")

TYPE("The location of the lines is: {Bspace} (where 1=Middle, 2=Inside, 3=Outside, 4=Close to inside, and 5=Close to outside).[Enter]")

END FUNCTION

関連項目

GetLayoutLeftLines, GetLayoutPageSize, GetLayoutParameters, GetLayoutParmCnt, GetLayoutType, ModifyLayout


GetLayoutType

説明

カレントページのページレイアウトの種類を判別します。

構文

GetLayoutType()

戻り値

All Page ビットか Mirror Page ビットかの値を含むビット値で次のいずれかです。

0	どちらでもないとき

512	All Pages

1024	Mirror Images

1536	両方

それぞれのビット値を取り出すには、ビット演算子 OR を使います。

例

FUNCTION Example()

Type = GetLayoutType()

IF Type & 0

Type = "Neither all pages nor mirrored"

ELSEIF Type & 512

Type = "All Pages"

ELSEIF Type & 1024

Type = "Mirror Image"

ELSEIF Type & 1536

Type = "Both all pages and mirror image"

ENDIF

Message("The current layout type is {Type}.")

END FUNCTION

関連項目

GetLayoutLeftLines, GetLayoutPageSize, GetLayoutParameters, GetLayoutParmCnt, GetLayoutRightLines, ModifyLayout


GetMacPath
GetMacPath$

説明

マクロディレクトリパスの既定値のドライブとディレクトリを返します。

構文

GetMacPath$()

戻り値

現在実行中のマクロのドライブ番号とディレクトリを「\」つなぎの文字列で返します。

例

FUNCTION Example()

AmiDir = GetAmiDirectory$()

WinDir = GetWindowsDirectory$()

CurDir = GetCurrentDir$()

DocPath = GetDocPath$()

StylePath = GetStylePath$()

MacPath = GetMacPath$()

BackPath = GetBackPath$()

Message("Ami Pro ﾃﾞｨﾚｸﾄﾘ : {AmiDir}")

Message("Windows ﾃﾞｨﾚｸﾄﾘ : {WinDir}")

Message("DOS上でのｶﾚﾝﾄﾃﾞｨﾚｸﾄﾘ : {CurDir}")

Message("Ami Pro 文書ﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {DocPath}")

Message("Ami Pro ﾏｸﾛﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {MacPath}")

Message("Ami Pro ｽﾀｲﾙｼｰﾄﾃﾞｨﾚｸﾄﾘ : {StylePath}")

Message("Ami Pro ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {BackPath}")

END FUNCTION

関連項目

GetBackPath$, GetCurrentDir$, GetDocPath$, GetStylePath$, 実行時のマクロ検索


GETMARKTEXT
GetMarkText$

説明

しおりの名前、差込み項目、メモの内容、Ami pro 変数を取り出します。

この関数を使う前に、差込み項目、しおり、変数の位置に挿入点を置いてください。

しおり、差込み項目、メモ、項目にはメニューで GoTo Next を使ってください。

挿入点をセットするには、メニューで次項目を使います。

構文

GetMarkText$()

戻り値

挿入位置のしおり、差込み項目、Ami Pro 変数の名前。これらのマークの位置に挿入点がない場合は、空文字列 ("")。

例

FUNCTION Example()

MarkBookMark("しおり", AddBookMark)

TYPE("[CtrlEND]")

PageNo = GetPageNo()

MarkBookMark("しおり", FindBookMark)

Text = GetMarkText$()

MarkBookMark("しおり", DeleteBookMark)

IF Text != ""

Message("挿入したしおり名は ""{Text}"", この文書は {PageNo} ページあります")

ENDIF

END FUNCTION

関連項目

GoToCmd, GoToShade, GetTextBeforeCursor$, InsertMergeField, MarkBookMark


GetMasterFiles

説明

現在の文書に付随するすべてのマスター文書ファイルの名前を配列に入れます。配列は GetMasterFileCount 関数を使って大きさを決められます。

構文

GetMasterFiles(&Array)

Array は、マスターファイルの名前を入れる配列の名前です。間接アドレスであることに注意してください。

戻り値

マスターファイルの数

例

FUNCTION Example()

Count = GetMasterFilesCount()

IF Count > 1

DIM Files(Count)

GetMasterFiles(&Files)

FOR I = 1 to Count

Message(Files(I))

NEXT

ELSE

Message("No master files!")

ENDIF

END FUNCTION

関連項目

GetMasterFilesCount, SetMasterFiles, AmiProIndirect


GetMasterFilesCount

説明

現在のファイルに付随するマスターファイルの総数を返します。これは、すべてのマスターファイル名を入れる配列の大きさを決めるのに役立ちます。

構文

GetMasterFilesCount()

戻り値

現在の文書ファイルに関連するマスターファイルの数

例

FUNCTION Example()

Count = GetMasterFilesCount()

IF Count > 1

DIM Files(Count)

GetMasterFiles(&Files)

FOR I = 1 to Count

Message(Files(I))

NEXT

ELSE

Message("No master files!")

ENDIF

END FUNCTION

関連項目

GetMasterFiles, SetMasterFiles, AmiProIndirect


GetMode

説明

プログラムが、レイアウトモードかアウトラインモードかドラフトモードかを調べます。

構文

GetMode()

戻り値

現在の表示モードを次のいずれかで返します。

Layout (1) - レイアウトモード

Draft (16) - ドラフトモード

Outline (48) - アウトラインモード

例

FUNCTION Example()

unit=1440 * 0.3937'Twips / cm

Mode = GetMode()'What mode is the screen in?

IF Mode != 1

LayoutMode()'If not Layout Mode, make it so.

ENDIF

IF Decide("現在のカーソル位置に”枠”を作成してもいいですか？")

'Give user Yes or No Dialog Box

Position = CursorPosition$()'Get current cursor prosition, in twips

X = strfield$(Position, 1, ",")'Parse out the X coordinate

Y = strfield$(Position, 2, ",")'Parse out the Y coordinate

X2 = X + (Query$("幅は何cmにしますか？") * unit)

'Compute Length of box

Y2 = Y + (Query$("高さは何cmにしますか", "1") * (unit * -1))

'Compute height of box

AddFrame(X, Y, X2, Y2)'Add the frame, using current defaults

ELSE

AddFrameDLG'Display Add Frame dialog box.

ENDIF

IF Mode = 48

type("[CtrlHome]")

OutlineMode()

ELSEIF Mode = 16

type("[CtrlHome]")

DraftMode()

ENDIF

END FUNCTION

関連項目

GetViewLevel, DraftMode, LayoutMode, OutlineMode, FullPageView, WorkingView, StandardView, EnlargedView


GetOpenFileCount

説明

現在オープンしている MDI ドキュメントの総数を返します。これらのファイル名を入れる配列の大きさを決めるのに役立ちます。

構文

GetOpenFileCount()

戻り値

Ami Pro がこの時点でオープンしている文書の数

例

FUNCTION Example()

Count = GetOpenFileCount()

IF Count > 0

DIM Files(Count)

GetOpenFileNames(&Files)

FOR I = 1 to Count

Message(Files(I))

NEXT

ELSE

Message("No open files!")

ENDIF

END FUNCTION

関連項目

GetOpenFileNames, GetOpenFileName$, FileClose, FileOpen, Save, SaveAs


GetOpenFileName
GetOpenFileName$

説明

現在アクティブな文書のフルパス名を取り出します。複数個の文書をオープンしているときは、編集中のファイル名を返します。

構文

GetOpenFileName$()

戻り値

オープンしているファイルのパス名。カレントファイルが「新規文書」の場合は、空文字列 ("") を返します。

例

FUNCTION Example()

DEFSTR Char;

OpenFile = GetOpenFileName$()

I = len(OpenFile)

WHILE "\" != Assign(&Char, MID$(OpenFile, I, 1))

I = I - 1

WEND

FileName = Right$(OpenFile, (len(OpenFile) - I))

Message("The current file is {FileName}.")

END FUNCTION

GetCurrentDir$GETCURRENTDIR, GetDocInfo$GETDOCINFO, GetDocPath$GETDOCPATH, GetMacPath$GETMACPATH, SetDocPathSETDOCPATH

関連項目

GetCurrentDir$, GetDocInfo$, GetDocPath$, GetMacPath$, SetDocPath


GetOpenFileNames

説明

オープンしているすべての Ami Pro 文書の名前を配列に入れます。配列の大きさは GetOpenFileCount 関数を使って求めます。名前の付いていないファイルは、空の文字列 ("") になります。

構文

GetOpenFileNames(&Names)

Names は、オープンしているファイル名を入れる配列の名前。

戻り値

オープンしているファイルの数

0 (FALSE) 	配列が埋められなかったとき

例

FUNCTION Example()

Count = GetOpenFileCount()

IF Count > 0

DIM Files(Count)

GetOpenFileNames(&Files)

FOR I = 1 to Count

Message(Files(I))

NEXT

ELSE

Message("No open files!")

ENDIF

END FUNCTION

関連項目

GetOpenFileCount, Save, SaveAs, FileOpen, FileClose


GetPageNo

説明

現在アクティブな文書の表示されているページ番号を取り出します。

構文

GetPageNo()

戻り値

現在アクティブな文書の表示中のページ番号。ドラフトモードまたはアウトラインモードのときには 0 。

例

FUNCTION Example()

MarkBookMark("しおり", AddBookMark)

TYPE("[CtrlEND]")

PageNo = GetPageNo()

MarkBookMark("しおり", FindBookMark)

Text = GetMarkText$()

MarkBookMark("しおり", DeleteBookMark)

IF Text != ""

Message("挿入したしおり名は ""{Text}"", この文書は {PageNo} ページあります")

ENDIF

END FUNCTION

関連項目

GetMode, AtEOF, GetBookMarkPage


GetProfileString
GetProfileString$

説明

テキストファイルから、Windows の WIN.INI や AMIPRO.INI を呼び出します。

構文

GetProfileString$(Section, Key [, Filename])

Section は、ファイル内のセクション名です。[AmiMacro] セクションを探すときには、空文字列 ("") にします。

Key は、ファイル内の目的のエントリ名です。

Filename は、オプションのファイル名です。引数がない場合は、Windows' WIN.INI ファイルが使われます。

戻り値

エントリ内容の文字列。

エントリが存在しなければ、空文字列 ("")。

例

FUNCTION Example()

Name = GetProfileString$("AmiPro", "UserName", "AMIPRO.INI")

FillEdit(8005, Name)

DIM Filters(10)

FOR I = 1 to 10

Filters(I) = strfield$(GetProfileString$("AmiPro", "application{I}", "AMIPRO.INI"), 1, ",")

FillList(Filters(I))

NEXT

FOR I = 1 to 10

FillEdit(9500, Filters(I))

NEXT

FillEdit(50, TRUE)

FillEdit(55, TRUE)

Box = DialogBox(".", "ExBox")

IF Box = -1

Message("Could not open dialog box; Exiting macro.")

EXIT FUNCTION

ELSEIF Box = 0

EXIT FUNCTION

ENDIF

Name2 = GetDialogField$(8005)

IF Name != Name2

IF Decide("Do you want to save your changes?")

WriteProfileString("AmiPro", "UserName", Name2, "AMIPRO.INI")

ENDIF

ENDIF

END FUNCTION

DIALOG ExBox

-2134376448 14 104 36 198 90 "" "" "Sample Dialog Box"

FONT 14 "System"

4 6 42 10 1000 1342308352 "static" "&User Name:" 0

52 4 92 12 8005 1350631552 "edit" "" 0

4 24 34 8 1001 1342308352 "static" "&Filters:" 0

4 34 66 52 9000 1352728579 "listbox" "" 0

74 24 52 8 1002 1342308352 "static" "&More Filters:" 0

74 34 70 40 9500 1344339971 "combobox" "" 0

74 46 60 40 24 1342308359 "button" "Group Box #1" 0

78 58 50 10 50 1342242825 "button" "Radio #1" 0

78 70 50 10 51 1342177289 "button" "Radio #2" 0

138 46 56 40 25 1342308359 "button" "Group Box #2" 0

142 56 48 12 55 1342242819 "button" "Check #1" 0

142 68 48 12 56 1342177283 "button" "Check #2" 0

154 4 40 14 1 1342373889 "button" "OK" 0

154 20 40 14 2 1342373888 "button" "Cancel" 0

END DIALOG

関連項目

GetMacPath$, WriteProfileString, 実行時のマクロ検索, GetAmiDirectory, GetWindowsDirectory


GetRunningMacroFile
GetRunningMacroFile$

説明

現在実行中のマクロのファイル名をフルパスで返します。ファイル名を変更したとき、同じファイル内にある他の関数を使用するときに役に立ちます。

構文

GetRunningMacroFile$()

戻り値

現在実行中のマクロのフルパスとファイル名の文字列

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()'Get the current name of this file.

AddMenuItem(1, "ﾌｧｲﾙ(\036F\037ﾌ)", "強制ｸﾛｰｽﾞ(&Q)", "{MacFile}!Example2()")

'Add the menu item to the File menu.

END FUNCTION

FUNCTION Example2()

AnswerMsgBox(YES)'Answer the next message box "NO"

FileClose()'Close the current file.

END FUNCTION

関連項目

実行時のマクロ検索, GetMacPath$, GetRunningMacroName$


GetRunningMacroName
GetRunningMacroName$

説明

現在実行中の関数の名前を返します。

構文

GetRunningMacroName$()

戻り値

現在実行中のマクロ関数名の文字列

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

MacName = GetRunningMacroName$()

Message("This macro file is {MacFile}.")

Message("This function is {MacName}.")

END FUNCTION

関連項目

実行時のマクロ検索, GetMacPath$, GetRunningMacroFile$


GetSpecialEffects
GetSpecialEffects$

説明

指定の文字または入力文字の特別な効果を取り出します。

<スタイル(S) スタイル修正(M) 特殊効果(E)> を選ぶか、スタイルに現れる文字を入力することと同じです。

構文

GetSpecialEffects$()

戻り値

1 (TRUE) 	特殊効果を取り出したとき

0 (UserCancel) 	関数を取り消したとき

-2 (GeneralFailure) 	特殊効果が取り出せなかったとき

例

FUNCTION Example()

Effects = GetSpecialEffects$()

IF Effects = ""

Message("There is no text in special effects on this paragraph.")

ELSE

Message("{Effects} is appended to this style.")

ENDIF

END FUNCTION

関連項目

ModifyStyle, ModifyLines, ModifyAlignment, ModifyReflow, ModifyBreaks, ModifySelect, ModifyEffects, ModifySpacing, ModifyFont, ModifyTable


GetStyleName
GetStyleName$

説明

カレントの段落の段落スタイル名を取り出します。

構文

GetStyleName$()

戻り値

段落スタイル名の文字列

例

FUNCTION Example()

NewName = Query$("What do you want to name the new style?", "TestStyle")

BaseName = GetStyleName$()

CreateStyle(NewName, BaseName)

ModifySelect(NewName)

ModifyAlignment(AlignLeft, 0, 0, 0, 0, 0)

ModifyBreaks(4, 0, 0)

ModifyEffects("<ｷ10>", SpaceIndent, ".20", 0, 0, 0,108,179,54, 0)

ModifySpacing(2, 0, 0, 0, 0, 0, 100)

ModifyTable(3, 2, ".", ",", "$", (8 + 16 + 128 + 256))

ModifyLines(1, 2, 180, 0, 0, 0, 0, 65535)

ModifyFont("TimesNewRomanPS", (20 * 20), 255, 1,108,179,54)

SetStyle(NewName)

ModifyReflow()

TYPE("This[Enter]is what the new[Enter]style looks[Enter]Like...[Enter]")

SetStyle(BaseName)

END FUNCTION

関連項目

ModifyStyle, SelectStyle, SetStyle, ShowStylesBox, ToggleStylesBox


GetStylePath
GetStylePath$

説明

段落スタイルシートファイルの現在の既定値パス名を取り出します。

構文

GetStylePath$()

戻り値

現在の段落スタイルシートパスの既定値文字列

例

FUNCTION Example()

AmiDir = GetAmiDirectory$()

WinDir = GetWindowsDirectory$()

CurDir = GetCurrentDir$()

DocPath = GetDocPath$()

StylePath = GetStylePath$()

MacPath = GetMacPath$()

BackPath = GetBackPath$()

Message("Ami Pro ﾃﾞｨﾚｸﾄﾘ : {AmiDir}")

Message("Windows ﾃﾞｨﾚｸﾄﾘ : {WinDir}")

Message("DOS上でのｶﾚﾝﾄﾃﾞｨﾚｸﾄﾘ : {CurDir}")

Message("Ami Pro 文書ﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {DocPath}")

Message("Ami Pro ﾏｸﾛﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {MacPath}")

Message("Ami Pro ｽﾀｲﾙｼｰﾄﾃﾞｨﾚｸﾄﾘ : {StylePath}")

Message("Ami Pro ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {BackPath}")

END FUNCTION

関連項目

GetBackPath$, GetDocPath$, GetMacPath$, SetBackPath, SetDocPath, SetStylePath


GetTextBeforeCursor
GetTextBeforeCursor$

説明

挿入点のある段落の先頭から挿入点までの文字データを取り出します。

構文

GetTextBeforeCursor$()

戻り値

挿入点以前にある段落の内容

例

FUNCTION Example()

Text = GetTextBeforeCursor$()

Length = len(Text)

Message("You are {Length} characters into the current paragraph.")

END FUNCTION

関連項目

CurChar$, CurShade$, CurWord$, CursorPosition$, GetMarkText$, Type


GetTime

説明

Windows を開始してからの経過時間を秒で返します。

構文

GetTime()

戻り値

Windows 開始からの経過秒数

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

CurrentTime = GetTime()

Message("The current counter is at {CurrentTime}.")

RunLater("{MacFile}!Example2()", 0.10)

END FUNCTION

FUNCTION Example2()

Message("It is now 10 seconds after you pushed ""OK"" in the message box.")

END FUNCTION

関連項目

Pause, RunLater, Now, FormatDate$, FormatTime$


GetViewLevel

説明

カレントのレイアウトモード表示レベルを取り出します。

構文

GetViewLevel()

戻り値

現在の表示レベル。

FullPage (201) - 全体表示

Working (202) - 指定表示

Standard (203) - 100％表示

Enlarged (204) - 200％表示

例

FUNCTION Example()

Level = GetViewLevel()

SWITCH Level

CASE 201

Level = "Full Page View"

CASE 202

Level = "Working View"

CASE 203

Level = "Standard View"

CASE 204

Level = "Enlarged View"

ENDSWITCH

Message("The current view level is at {Level}.")

END FUNCTION

関連項目

GetMode, DraftMode, LayoutMode, FullPageView, WorkingView, StandardView, EnlargedView, FacingView


GetWindowsDirectory
GetWindowsDirectory$

説明

Windows のディレクトリ名を返します。

構文

GetWindowsDirectory$()

戻り値

Windows のディレクトリ名

例

FUNCTION Example()

AmiDir = GetAmiDirectory$()

WinDir = GetWindowsDirectory$()

CurDir = GetCurrentDir$()

DocPath = GetDocPath$()

StylePath = GetStylePath$()

MacPath = GetMacPath$()

BackPath = GetBackPath$()

Message("Ami Pro ﾃﾞｨﾚｸﾄﾘ : {AmiDir}")

Message("Windows ﾃﾞｨﾚｸﾄﾘ : {WinDir}")

Message("DOS上でのｶﾚﾝﾄﾃﾞｨﾚｸﾄﾘ : {CurDir}")

Message("Ami Pro 文書ﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {DocPath}")

Message("Ami Pro ﾏｸﾛﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {MacPath}")

Message("Ami Pro ｽﾀｲﾙｼｰﾄﾃﾞｨﾚｸﾄﾘ : {StylePath}")

Message("Ami Pro ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙﾃﾞｨﾚｸﾄﾘ : {BackPath}")

END FUNCTION

関連項目

GetAmiDirectory$, GetDocPath$, GetStylePath$, GetMacPath$


Glossary

説明

文書の挿入点に、名前付の短文項目を挿入します。

メニューで <編集(E) 挿入(I) 短文(L)> を選ぶことと同じです。項目を挿入する前に短文ファイルをセットするには、GlossSet 関数を使います。

構文

Glossary(ItemName)

ItemName は、挿入する短文項目の名前。

短文ダイアログボックスを表示して挿入する短文項目をユーザーが選ぶときは Glossary を使います。

戻り値

1 (TRUE) 	短文項目が挿入されたとき

0 (UserCancel) 	メニュー項目を取り消したとき

-2 (GeneralFailure) 	項目が挿入されなかったか項目が見つからなかったとき

例

FUNCTION Example()

Gloss = Query$("What glossary file do you want to use?")

GlossSet(Gloss)

Glossary

END FUNCTION

関連項目

GlossSet, GlossaryAdd


GlossaryAdd

説明

指定文字列をカレントの短文ファイルに登録します。

メニューで <編集(E) マーク(M) 短文登録(G)> を選ぶことと同じです。

構文

GlossaryAdd(Itemname, Filename, Flag)

Itemname は、短文データファイルに入れる短文項目名です。

Filename は、短文ファイル名です。

Flag は、Filename 引数がファイル名であるかどうかを決める数です。

FALSE (0) - Filename はファイル名

TRUE (1) - Filename はオブジェクト名

Mark Glossary ダイアログボックスを表示してユーザーが項目名と短文データファイルを選ぶときは GlossaryAdd を使います。

戻り値

1 (TRUE) 	短文レコードが挿入されたとき

0 (NoAction) 	何も変化がないとき

-2 (GeneralFailure) 	短文レコードが挿入されなかったか、データファイルが Ami Pro ファイルでなかったか、データファイルが暗号化されていたとき

例

FUNCTION Example()

WHILE "" = CurShade$()

UserControl("Select the text to place in the glossary, then choose Resume...")

WEND

Name = Query$("What do you want to name this record?")

FileName = Query$("What glossary file do you want to use?")

GlossaryAdd(Name, Filename)

END FUNCTION

関連項目

GlossSet, Glossary


GlossSet

説明

短文項目挿入のソースファイルとして使う名前の付いた短文ファイルを選びます。

メニューで <編集(E) 挿入(I) 短文(L) データファイル(D)> を選ぶことと同じです。

構文

GlossSet(FileName)

FileName は、レコードを選んでくる短文ファイルの名前。

Glossary ダイアログボックスを表示して短文ファイル名をユーザーに選ばせるには、Glossary を使います。

戻り値

1 (TRUE) 	短文ファイルが選択されたとき

-2(GeneralFailure)	ファイルが選択ばれなかったか、ファイルが見つからなかったとき

例

FUNCTION Example()

Gloss = Query$("What glossary file do you want to use?")

GlossSet(Gloss)

Glossary

END FUNCTION

関連項目

Glossary, GlossaryAdd


GoToAgain

説明

GoToCmd 関数の後で項目の次の位置に飛びます。

メニューで <編集(E) ジャンプ(G)> を選びジャンプ ^H を指定することと同じです。

構文

GoToAgain()

戻り値

1 (TRUE) 	項目が位置付けられたとき

0 (UserCancel) 	関数を取り消したとき

-3 	入力値不正

-7 	次の項目が見つからなかったとき

-2 	その他のエラー

例

FUNCTION Example()

GoToCmd(4, 0, GoFrame)

WHILE not AtEOF()

UserControl ("Click Resume...")

GoToAgain()

WEND

END FUNCTION

関連項目

GoToCmd


GoToCmd

説明

他のページやマーク位置までジャンプします。

メニューで <編集(E) ジャンプ(G)> を選ぶことと同じです。

構文

GoToCmd(Which,Page,Mark)

Which はジヤンプの型を決めるもので、次の１つを指定します。

GoPage(1) - Page で指定される頁番号にジャンプする

GoFirst(2) - 文書の先頭頁にジャンプする

GoLast(3) - 文書の最後の頁にジャンプする

GoMark(4) - MarkName で指定するマークにジャンプする

指定頁にジャンプするには、Which を１、Page に飛び先の頁番号をセットし、MarkName を０とします。特に必要でない引数は０にしてかまいません。

戻り値

1 (TRUE) 	指定位置にジャンプしたとき

0 (UserCancel) 	取り消されたとき

-3 	目的のマークが見つからなかったとき（たとえば、ドラフトモードで枠を指定した場合）

-7 	目的の位置が見つからなかったとき

-2 	その他のエラー

例

FUNCTION Example()

WHILE not AtEOF()

GoToCmd(4, 0, GoField)

GoToShade(4, 0, GoField)

TYPE("[DEL]")

WEND

END FUNCTION

関連項目

GoToShade, GetMarkText$, Replace, GoToAgain


GoToShade

説明

マーク位置までジャンプします。この関数と GoToCmd 関数の違いは、この関数を実行すると、挿入点から飛び先までの文字が選択され、反転表示になる点です。

構文

GoToShade(4,0,MarkName)

MarkName はマークにジャンプするときに指定するマークの型で、次のいずれかです。

GoField (4) - 次の項目

GoRuler (6) - 文字列内の次のタブルーラー

GoFootnote (7) - 脚注マーク

GoPageBreak (9) - 改ページ

GoNote (10) - 注釈

GoLayout (11) - レイアウト変更点

GoBookmark (12) - しおり

GoHF (13) - 浮動ヘッダ／フッタマーク

戻り値

1 (TRUE) 	指定位置にジャンプしたとき

-3 	入力値が正しくないとき

-7 	項目が見つからなかったとき

-2 	その他のエラー

例

FUNCTION Example()

WHILE not AtEOF()

GoToCmd(4, 0, GoField)

GoToShade(4, 0, GoField)

TYPE("[DEL]")

WEND

END FUNCTION

関連項目

GoToCmd, GetMarkText$


GraphicsScaling

説明

図形のサイズを変更したり、回転させたりします。

メニューで <枠(R) 図形サイズ(S)> を選ぶことと同じです。

構文

GraphicsScaling(Options,Percentage,Units,Height,Width,Rotate)

Options はサイズを決めるビット番号で、次の中から必ず１つを指定します。

OriginalSize (1) - 原寸

FitInFrame (2) - 枠に合わせる

PercentSize (4) - ％指定

CustomSize (8) - サイズ指定

MaintainAspect (16) - 相似

OriginalSize 、FitInFrame 、PercentSize 、CustomSize の、サイズに関する４つの引数の中から必ず１つは使わなければなりません。

OriginalSize を使うと、他の引数は無視します。FitInFrame を使うと、MaintainAspect を指定することができ、他の引数を無視します。PercentSize を使うと、グラフのサイズを決定するために％を指定して、他の引数を無視します。CustomSize を使うと、グラフのサイズを決定するために高さと幅を指定します。

Options の値は、組み合わせて使うことができます。

Percentage はグラフを表示するための、元のサイズの比率です。

Units は高さと幅を設定するためにダイアログボックスを使うときの単位で、次の中から１つを指定します。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント数

Height はグラフの高さ。

Width はグラフの幅。

Rotate はグラフの回転度数で、 0 から 360度まで。

GraphicsScaling は、図形サイズを決めるダイアログボックスを表示して設定をするためのものです。

戻り値

１

例

FUNCTION Example()

LayoutMode()

WHILE not IsFrameSelected()

UserControl("Select a frame and choose Resume...")

WEND

GraphicsScaling

END FUNCTION

関連項目

AddFrame, AddFrameDLG, ImportPicture, DrawingMode, ChartingMode, ImageProcessing


GrayMenuItem

説明

メニュー項目を、淡色表示にするかそれを解除します。

メニュー項目が淡色表示になっていると、メニューに現れますがユーザーは選択できません。使用できない機能を示すために使ってください。

構文

GrayMenuItem(BarID,MenuName,ItemName,State)

BarID は、AddBar 関数で返されるメニューバーの識別番号です。

Ami Pro メニューバーは１とします。

MenuName は、淡色表示にする項目があるメニューの名前です。

メニュー名として使われている「&」も含めなければなりません。

ItemName は、淡色表示にするメニュー項目の名前で、「&」も含めて既存のメニュー項目と完全に一致しなければなりません。

State は、メニュー項目を淡色表示にする 1(TRUE) か、淡色表示を解除する 0(FALSE) のいずれかです。

戻り値

1 (TRUE) 	項目が淡色表示になったか解除されたとき

0 (FALSE) 	項目が淡色表示／解除されなかったか、または BarId,MenuName,ItemName が不正のとき

例

FUNCTION Example()

AddMenuItem(1, "ﾌｧｲﾙ(\036F\037ﾌ)", "Grayed Menu Item", "")

GrayMenuItem(1, "ﾌｧｲﾙ(\036F\037ﾌ)", "Grayed Menu Item", 1)

END FUNCTION

関連項目

AddBar, AddMenu, AddMenuItem, AddMenuItemDDE, ChangeMenuAction, CheckMenuItem, DeleteMenu, DeleteMenuItem, RenameMenuItem, ShowBar


GroupFrames

説明

指定された枠をグループ化します。

メニューで <枠(R) グループ(G)> を選ぶことと同じです。すでに枠がグループ化されているときには、グループ化を解除します。

構文

GroupFrames()

戻り値

１

例

FUNCTION Example()

LayoutMode()

WHILE not IsFrameSelected()

UserControl("Select the frames to group, then choose Resume...")

WEND

GroupFrames()

END FUNCTION

関連項目

AddFrame, AddFrameDLG


Heading

説明

現在選択されている表の行を表の各ページのタイトルにします。

この関数はオンとオフのトグルです。

メニューで <表(B) タイトル(H)> を選ぶことと同じです。この関数は表をアクティブにしてから使います。

構文

Heading()

戻り値

1 (TRUE) 	その行が各ページのタイトルとして設定されたとき

-2 	設定されないとき

例

FUNCTION

Heading()

END FUNCTION

関連項目

Tables, TableLayout, InsertColumnRow, DeleteColumnRow


Help

説明

Ami Pro のオンラインヘルプを表示します。

メニューで <ヘルプ(H) 索引(I)> を選ぶことと同じです。

この関数は自動的にヘルプのトピックの選択はしません。

ユーザーが任意に選ぶ項目でヘルプを見る通常の方法でヘルプシステムを使えます。

ヘルプは通常の Ami Pro ウィンドウとは別のウィンドウを表示しますが、Ami Pro ウィンドウを書き直す別のマクロがヘルプウィンドウを Ami Pro ウィンドウに置き換えます。

この関数は、マクロの最後で使います。

構文

Help()

戻り値

1 (TRUE) 	ヘルプウィンドウが表示されたとき

-2 (GeneralFailure) 	ヘルプウィンドウが何かの理由で表示されなかったとき

-6 (NoMemory) 	メモリ不足で実行できなかったとき

例

FUNCTION Example()

Help()

END FUNCTION

関連項目

About, BasicsHelp, HowDoIHelp, KeyboardHelp, MacroHelp, UsingHelp


Hex
Hex$

説明

指定された10進数型数値文字列を16進数型数値文字列に変換します。

構文

Hex$(Text)

Text は変換する10進数型数値文字列です。

戻り値

変換された16進数型数値文字列

例

FUNCTION Example()

hexcode = Hex$("33088")

message("33088 = Hex Code : {hexcode}")

END FUNCTION


HideIconBar

説明

アイコンパレットを非表示にします。

メニューで <ツール(L) アイコンパレット(I)> を選んで <スマートアイコンを表示する(S)> のチェックボックスのチェックマークを解除するのと同じです。

構文

HideIconBar()

戻り値

1 (TRUE) 	アイコンバーが非表示になったとき

0 (NoAction) 	すでにアイコンバーが非表示であるとき

例

FUNCTION Example()

HideIconBar()

END FUNCTION

関連項目

ViewPreferences, ShowIconBar, ShowTabRuler, ToggleTabRuler


HideStylesBox

説明

画面からスタイルボックスを消します。

メニューで <表示(V) スタイルボックス非表示(B)> を選ぶことと同じです。

構文

HideStylesBox()

戻り値

1 (TRUE) 	スタイルボックスが非表示になったとき

0 (NoAction) 	すでにスタイルボックスが非表示であるとき

例

FUNCTION Example()

HideStylesBox()

END FUNCTION

関連項目

ViewPreferences, ShowIconBar, ShowStylesBox, ShowTabRuler, ToggleStylesBox


HideTabRuler

説明

画面の上隅からルーラーを消します。

メニューで <表示(V) ルーラー非表示(R)> を選ぶことと同じです。

構文

HideTabRuler()

戻り値

1 (TRUE) 	ルーラーが非表示になったとき

0 (NoAction) 	すでにルーラーが非表示であるとき

例

FUNCTION Example()

HideTabRuler()

END FUNCTION

関連項目

ViewPreferences, ShowIconBar, ShowTabRuler


Hourglass

説明

挿入点に Windows の砂時計を表示したり消したりします。

砂時計の初期状態は関数の戻り値で知ることができます。マクロが挿入点の砂時計の初期状態を変更するときは、実行前に初期状態を保存しないと挿入点の位置が正しくなくなります。

構文

Hourglass(State)

State は挿入点の砂時計を表示するとき(1)、消すとき(0)です。

戻り値

1 (TRUE) 	hourglass を使う前に砂時計が表示されていたとき

0 (FALSE) 	砂時計が表示されていなかったとき

例

FUNCTION Example()

IgnoreKeyboard(1)

HourGlass(1)

StatusBarMsg("TIFFﾌｧｲﾙｲﾝﾎﾟｰﾄ中....")

DocDir = GetDocPath$()

ImportPicture("TIFF", "{DocDir}AMILOGO.TIF", ".TIF", 0)

StatusBarMsg("")

HourGlass(0)

IgnoreKeyboard(0)

END FUNCTION

関連項目

DarkMode, Pause, StatusBarMsg


HowDoIHelp

説明

Ami Pro のオンラインヘルプを表示します。

メニューで <ヘルプ(H) 操作手順(H)> を選ぶことと同じです。

構文

HowDoIHelp()

戻り値

1 (TRUE) 	ヘルプウィンドウが表示されたとき

-2 (GeneralFailure) 	ヘルプウィンドウが何かの理由で表示されなかったとき

-6 (NoMemory) 	メモリ不足で実行できなかったとき

例

FUNCTION Example()

HowDoIHelp()

END FUNCTION

関連項目

About, Help, BasicsHelp, KeyboardHelp, MacroHelp, UsingHelp


IconBottom

説明

アイコンパレットを画面の下隅に移動します。

メニューで <ツール(L) アイコンパレット(I)> を選び、位置として <下(B)> を選ぶことと同じです。

構文

IconBottom()

戻り値

1

例

FUNCTION Example()

IconBottom()

END FUNCTION

関連項目

IconCustomize, IconFloating, IconLeft, IconRight, IconTop, ToggleIconBar, ShowIconBar


IconCustomize

説明

アイコンパレットをカスタマイズするためのダイアログボックスを表示します。メニューで <ツール(L) アイコンパレット(I) カスタマイズ(C)> を選ぶことと同じです。

構文

IconCustomize()

戻り値

1 (TRUE) 	アイコンパレットがカスタマイズされたとき

0 (UserCancel) 	ユーザーが中止したとき

例

FUNCTION Example()

IconCustomize()

END FUNCTION

関連項目

IconButtom, IconFloating, IconLeft, IconRight, IconTop, ToggleIconBar, ShowIconBar


IconFloating

説明

アイコンパレットを自由に移動できる状態にします。

メニューで <ツール(L) アイコンパレット(I)> を選んで位置として <浮動(F)> を選ぶことと同じです。

構文

IconFloating()

戻り値

1

例

FUNCTION Example()

IconFloating()

END FUNCTION

関連項目

IconButtom, IconCustomize, IconLeft, IconRight, IconTop, ToggleIconBar, ShowIconBar


IconLeft

説明

アイコンパレットを画面の左隅に移動します。

メニューで <ツール(L) アイコンパレット(I)> を選んで位置として <左(L)> を選ぶことと同じです。

構文

IconLeft()

戻り値

1

例

FUNCTION Example()

IconLeft()

END FUNCTION

関連項目

IconButtom, IconCustomize, IconFloating, IconRight, IconTop, ToggleIconBar, ShowIconBar


IconRight

説明

アイコンパレットを画面の右隅に移動します。

メニューで <ツール(L) アイコンパレット(I)> を選んで位置として <右(R)> を選ぶことと同じです。

構文

IconRight()

戻り値

1

例

FUNCTION Example()

IconRight()

END FUNCTION

関連項目

IconButtom, IconCustomize, IconFloating, IconLeft, IconTop, ToggleIconBar, ShowIconBar


IconTop

説明

アイコンパレットを画面の上隅に移動します。

メニューで <ツール(L) アイコンパレット(I)> を選んで位置として ｓ<上(T)> を選ぶことと同じです。

構文

IconTop()

戻り値

1

例

FUNCTION Example()

IconTop()

END FUNCTION

関連項目

IconButtom, IconCustomize, IconFloating, IconLeft, IconRight, ToggleIconBar, ShowIconBar


IgnoreKeyboard

説明

ユーザーが何かのキーを押したときマクロの実行を中断するのか、あるいは [ESC] を押したときだけ中断するのかを決めます。

通常マクロの実行はユーザーが何かのキーを押したとき止まります。

構文

IgnoreKeyboard(State)

State はキーボード割込みを無視するときはオン ( 1 ) 、有効にするときはオフ ( 0 ) です。

戻り値

なし

例

FUNCTION Example()

IgnoreKeyboard(1)

HourGlass(1)

StatusBarMsg("TIFFﾌｧｲﾙｲﾝﾎﾟｰﾄ中....")

DocDir = GetDocPath$()

ImportPicture("TIFF", "{DocDir}AMILOGO.TIF", ".TIF", 0)

StatusBarMsg("")

HourGlass(0)

IgnoreKeyboard(0)

END FUNCTION

関連項目

AnswerMsgBox, Messages, SingleStep, Hourglass


ImageProcessing

説明

メインのメニューバーにイメージメニューを追加します。

メニューで <ツール(L) イメージ処理(I)> を選ぶことと同じです。灰色のスケールの TIFF イメージを含む枠はこの関数を呼ぶ前に選択しなければなりません。

構文

ImageProcessing()

戻り値

1 (TRUE) 	メインメニューバーにイメージメニューが追加されたとき

-2 (GeneralFailure) 	追加されなかったとき

例

FUNCTION Example()

LayoutMode()

WHILE not IsFrameSelected()

UserControl("Select a frame with a gray-scale tiff, and choose Resume...")

WEND

ImageProcessing()

END FUNCTION

関連項目

DrawingMode, ChartingMode, AddFrame, AddFrameDLG, Graphicsscaling


ImportPicture

説明

文書に図形を呼び出します。

空の枠が選択された場合は、図形はそこに置かれます。

枠が選択されないときは、１つずつ枠を作成しそこに図形を呼び出します。

この関数はメニューで <ファイル(F) 絵の呼び出し(I)> を選ぶことと同じです。

構文

ImportPicture(AppName,Fname,Fileext,CopyImage)

AppName はファイル種別の名前です。この名前は <絵の呼び出し(I)> ダイアログボックスにあるファイルのリストか、AMIPRO.INI ファイルで探すこともできます。

Fname 呼び出すファイルの名前で、必要ならば、拡張子とパス名を含みます。

Fileext はファイルの拡張子です。ピリオドを含まなくてはなりません。

CopyImage は次の値のどちらかを指定します。

1 - 図形ファイルを文書に複写する。

0 - 図形を表示するときに元の図形ファイルを参照する。

戻り値

1 (TRUE) 	図形が呼び出されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	図形が呼び出されなかったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

IgnoreKeyboard(1)

HourGlass(1)

StatusBarMsg("TIFFﾌｧｲﾙｲﾝﾎﾟｰﾄ中....")

DocDir = GetDocPath$()

ImportPicture("TIFF", "{DocDir}AMILOGO.TIF", ".TIF", 0)

StatusBarMsg("")

HourGlass(0)

IgnoreKeyboard(0)

END FUNCTION

関連項目

GetProfileString$, FileOpen, AddFrame, AddFrameDLG, GraphicsScaling, DrawingMode, ImageProcessing


Indent

説明

現在選択している段落のインデントの大きさを設定します。

メニューで <文字(T) インデント(D)> を選ぶことと同じです。

構文

Indent(AllIndent,FirstIndent,RestIndent,RightIndent)

AllIndent はすべての行のインデントのサイズ

FirstIndent は１行目のインデントのサイズ

RestIndent は２行目以降のインデントのサイズ

RightIndent は右端からのインデントのサイズ

サイズは twips（1inch = 1440 twips） 単位です。

インチの数は twips の値にするために 1440 を掛けます。

戻り値

1 (TRUE) 	インデントが設定されたとき

0 (UserCancel) 	中止したとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

Indent(1440, 720, 0, 0)

END FUNCTION

関連項目

Spacing, ModifyAlignment, Center, Justify, NormalText


InitialCaps

説明

指定範囲の文字列や入力する文字列の先頭の大文字使用を設定します。

この機能はトグルとして働き、先頭文字属性を変更します。

メニューで <文字(T) 大文字/小文字(C) 先頭大文字(I)> を選ぶことと同じです。

構文

InitialCaps()

戻り値

1 (TRUE) 	文字列が先頭大文字に設定されたとき

0 (UserCancel) 	中止したとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

WHILE "" = CurShade$()

UserControl("Shade the text to modify, then coose Resume...")

WEND

InitialCaps()

END FUNCTION

関連項目

UpperCase, LowerCase, SmallCaps


InsertCascadeMenu

説明

既にあるプルダウンメニューにカスケードメニューを挿入します。

構文

InsertCascadeMenu(BarID,Menu,Position,NewMenu)

BarID は AddBar 関数から戻されたメニューバーの識別番号です。既定の Ami Pro メニューバーを使うときは１を使います。

Menu はカスケードメニューを挿入するプルダウンメニューの名前です。

メニュー名で使われたアンパサント「&」を含む文字列です。

Position はカスケードメニューを挿入するプルダウンメニューの位置です。この引数は０で始まります (プルダウンメニューの始めの位置として挿入するために) 。

NewMenu は挿入するカスケードメニューの名前です。名前の中の文字の前にアンパサント「&」を置くことによって、アンダーラインが引かれたショートカットキーの文字になります。

戻り値

1 (TRUE) 	カスケードメニューが挿入されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	カスケードメニューが挿入されないとき、あるいはプルダウンメニュー名が適当でないか、存在しないとき

例

FUNCTION Example()

MacFile=GetRunningMacroFile$()

InsertCascadeMenu(1,"ﾌｧｲﾙ(\036F\037ﾌ)",7,"例(\036E\037ﾚ)")

AddCascadeMenuItem(1,"ﾌｧｲﾙ(\036F\037ﾌ)","例(\036E\037ﾚ)","例１","{MacFile}!Example2(1)","")

AddCascadeMenuItem(1,"ﾌｧｲﾙ(\036F\037ﾌ)","例(\036E\037ﾚ)","例２","{MacFile}!Example2(2)","")

InsertCascadeMenuItem(1,"ﾌｧｲﾙ(\036F\037ﾌ)","例(\036E\037ﾚ)",1,"例１．５","{MacFile}!Example2(3)","")

END FUNCTION

FUNCTION Example2(Msg)

Message(Msg)

END FUNCTION

関連項目

InsertMenu, InsertMenuItem, InsertCascadeMenuItem, AddCascadeMenu, AddCascadeMenuItem, AddMenu, AddMenuItem, AddMenuItemDDE, DeleteMenu, DeleteMenuItem


InsertCascadeMenuItem

説明

既にあるカスケードメニューにメニュー項目を挿入します。

構文

InsertCascadeMenuItem(BarID,Menu,Position,Item,MacroName[!Function[(Parm1[,Parm2...])]],Help)

BarID は AddBar 関数からの戻り値のメニューバーの識別番号です。既定の Ami Pro メニューバーを使うときは１を使います。

Menu は使用するプルダウンメニューの名前と項目を挿入するカスケードメニューバーの名前です。アンパサント「&」を含みます。

Position はカスケードメニュー内の項目を挿入する位置です。この引数は０で始まります (カスケードメニューの最初の位置として挿入するために) 。

Item は挿入する文字列です。

ユーザーがカスケードメニューバーで見る文字列になります。

文字列中の文字の前にアンパサント「&」を置くことによって、アンダーラインのあるショートカットキーの文字になります。

Help はこのメニュー項目がハイライト表示になっているときに Ami Pro のタイトルバーに現われるオンラインヘルプの文字列です。この引数は必須です。

戻り値

1 (TRUE) 	カスケードメニュー項目が挿入されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	カスケードメニュー項目が挿入されなかったとき、あるいはプルダウンメニューまたはカスケードメニューの名前が引数と合わないかどちらかが存在しないとき。

例

FUNCTION Example()

MacFile=GetRunningMacroFile$()

InsertCascadeMenu(1,"ﾌｧｲﾙ(\036F\037ﾌ)",7,"例(\036E\037ﾚ)")

AddCascadeMenuItem(1,"ﾌｧｲﾙ(\036F\037ﾌ)","例(\036E\037ﾚ)","例１","{MacFile}!Example2(1)","")

AddCascadeMenuItem(1,"ﾌｧｲﾙ(\036F\037ﾌ)","例(\036E\037ﾚ)","例２","{MacFile}!Example2(2)","")

InsertCascadeMenuItem(1,"ﾌｧｲﾙ(\036F\037ﾌ)","例(\036E\037ﾚ)",1,"例１．５","{MacFile}!Example2(3)","")

END FUNCTION

FUNCTION Example2(Msg)

Message(Msg)

END FUNCTION

関連項目

InsertMenu, InsertMenuItem, InsertCascadeMenu, AddCascadeMenu, AddCascadeMenuItem, AddMenu, AddMenuItem, AddMenuItemDDE, DeleteMenu, DeleteMenuItem


InsertColumnRow

説明

表の行または列を挿入します。

メニューで <表(B) 行/列の挿入(I)> を選ぶことと同じです。

構文

InsertColumnRow(Number,Where,Which)

Number は挿入する行または列の数です。

Where は行または列を挿入する場所を表す数字で次のどちらかを指定します。

InsAfter (0) - 現在の行/列の後に挿入する。

InsBefore (1) - 現在の行/列の前に挿入する。

Which は行あるいは列のどちらを挿入するのかを次の中から指定します。

Column (1) - 行を挿入する。

Row (0) - 列を挿入する。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は InsertColumnRow を使います。

戻り値

1 (TRUE) 	行または列が挿入されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	行または列が挿入されなかったとき

例

FUNCTION Example()

InsertColumnRow(1, 0, 1)

END FUNCTION

関連項目

DeleteColumnRow, SizeColumnRow


InsertDate

説明

文書に日付を挿入します。

メニューで <編集(E) 挿入(I) 日時(D)> を選ぶことと同じです。

構文

InsertDate(Type,Style)

Type は挿入する日付のタイプです。

Type 引数は次の中から指定します。

今日の日付 (2) - 今日の日付を挿入する。

システム日付 (3) - 文書にシステム日付を挿入する。

最終改訂日 (5) - 文書が最後に変更された日付を挿入する。

作成日 (7) - 文書が作成された日付を挿入する。

Style は挿入する日付のスタイルです。Style 引数は挿入する日付スタイルを決め、次の中から指定します。

  (0)   NMDY	92/08/15

  (1)   MDY	August 31, 1992

  (2)   UMDY	AUGUST 31, 1992

  (3)   DMY	31 August 1992

  (4)   UDMY	31 AUGUST 1992

  (5)   DMDY	Monday, August 31, 1992

  (6)   UDMDY	MONDAY, AUGUST 31, 1992

  (7)   MD	August 31

  (8)   UMD	AUGUST 31

  (9)   DMD	Monday August 31

  (10)  UDMD	MONDAY AUGUST 31

  (11)  NMD	08/31

  (12)  NMDLY	1992/08/31

  (13)  DPM	31. August

  (14)  UDPM	31. AUGUST

  (15)  DPMY	31. August 1992

  (16)  UDPMY	31. AUGUST 1992

  (17)  YMD	1992 August 31

  (18)  UYMD	1992 AUGUST 31

  (19)  MY	August, 1992

  (20)  UMY	AUGUST, 1992

  (21)  JS	1992年8月31日

  (22)  JD	１９９２年８月３１日

  (23)  JK	一九九二年八月三十一日

  (24)  JAS	'92年8月31日

  (25)  JAD	'９２年８月３１日

  (26)  JES	平成4年8月31日

  (27)  JED	平成４年８月３１日

  (28)  JEK	平成四年八月三十一日

  (29)  JSMD	8月31日

  (30)  JDMD	８月３１日

  (31)  JKMD	八月三十一日

  (32)  JSS	1992/8/31

  (33)  JSD	１９９２/８/３１

  (34)  JYMD	1992 Aug 31

  (35)  JUYMD	1992 AUG 31

  (36)  JMD	Aug 31

  (37)  JUMD	AUG 31

  (38)  JPS	92.8.31

  (39)  JPD	９２.８.３１

  (40)  JHS	92-8-31

  (41)  JHD	９２-８-３１

  (42)  JEPS	H4.8.31

  (43)  JEPD	Ｈ４.８.３１

ダイアログボックスを表示して、ユーザーが引数を指定する場合は InsertVariable を使います。

戻り値

1 (TRUE) 	日付が挿入されたとき

-2 (GeneralFailure) 	日付が挿入されなかったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

InsertDate(2, DMDY)

END FUNCTION

関連項目

InsertVariable, InsertMergeField, InsertDocInfo, Now, FormatDate$, FormatTime$, GetTime


InsertDocInfo

説明

この関数はダイアログボックスを表示して文書情報項目を挿入します。

メニューで <編集(E) 挿入(I) 文書情報フィールド(I)> を選んだのと同じです。

ダイアログボックスなしで文書情報項目を挿入するには InsertDocInfoField 関数を参照してください。

構文

InsertDocInfo

戻り値

なし

例

FUNCTION Example()

InsertDocInfo

END FUNCTION

関連項目

DocInfo, RenameDocInfoField, GetDocInfo$, InsertDocInfoField


InsertDocInfoField

説明

ダイアログボックスなしに文書情報項目を挿入します。

メニューで <編集(E) 挿入(I) 文書情報フィールド(I)> を選んだのと同じです。

<文書情報フィールド(I)> のダイアログボックスを表示するには InsertDocInfo 関数を参照してください。

構文

InsertDocInfoField(Style,Which)

Style は挿入する項目が日付のときに使用する日付のスタイルです。日付以外のときは無視されます。日付スタイルは次の中から指定します。

  (0)   NMDY	92/08/15

  (1)   MDY	August 31, 1992

  (2)   UMDY	AUGUST 31, 1992

  (3)   DMY	31 August 1992

  (4)   UDMY	31 AUGUST 1992

  (5)   DMDY	Monday, August 31, 1992

  (6)   UDMDY	MONDAY, AUGUST 31, 1992

  (7)   MD	August 31

  (8)   UMD	AUGUST 31

  (9)   DMD	Monday August 31

  (10)  UDMD	MONDAY AUGUST 31

  (11)  NMD	08/31

  (12)  NMDLY	1992/08/31

  (13)  DPM	31. August

  (14)  UDPM	31. AUGUST

  (15)  DPMY	31. August 1992

  (16)  UDPMY	31. AUGUST 1992

  (17)  YMD	1992 August 31

  (18)  UYMD	1992 AUGUST 31

  (19)  MY	August, 1992

  (20)  UMY	AUGUST, 1992

  (21)  JS	1992年8月31日

  (22)  JD	１９９２年８月３１日

  (23)  JK	一九九二年八月三十一日

  (24)  JAS	'92年8月31日

  (25)  JAD	'９２年８月３１日

  (26)  JES	平成4年8月31日

  (27)  JED	平成４年８月３１日

  (28)  JEK	平成四年八月三十一日

  (29)  JSMD	8月31日

  (30)  JDMD	８月３１日

  (31)  JKMD	八月三十一日

  (32)  JSS	1992/8/31

  (33)  JSD	１９９２/８/３１

  (34)  JYMD	1992 Aug 31

  (35)  JUYMD	1992 AUG 31

  (36)  JMD	Aug 31

  (37)  JUMD	AUG 31

  (38)  JPS	92.8.31

  (39)  JPD	９２.８.３１

  (40)  JHS	92-8-31

  (41)  JHD	９２-８-３１

  (42)  JEPS	H4.8.31

  (43)  JEPD	Ｈ４.８.３１

Which は挿入する文書情報項目です。この引数で指定された文書情報が対応する項目に挿入されます。次の中から指定します。

DDFilename (1) - ファイル名

DDPath (2) - 文書のパス

DDStylesheet (3) - 文書のスタイルシート

DDRevisions (6) - レビジョン番号

DDDescription (7) - 文書情報

DDUser1 (8) - ユーザー定義項目１

DDUser1 (9) - ユーザー定義項目２

DDUser1 (10) - ユーザー定義項目３

DDUser1 (11) - ユーザー定義項目４

DDUser1 (12) - ユーザー定義項目５

DDUser1 (13) - ユーザー定義項目６

DDUser1 (14) - ユーザー定義項目７

DDUser1 (15) - ユーザー定義項目８

戻り値

1 (TRUE) 	項目が挿入されたとき

0 (FALSE) 	項目が挿入されなかったとき

例

FUNCTION Example()

InsertDocInfoField(0, 6)

END FUNCTION

関連項目

InsertDocInfo


InsertLayout

説明

現在の挿入点に改頁を挿入して <ページレイアウト修正(M)> ダイアログボックスを表示します。メニューで <ページ(P) ページレイアウト挿入(I) 挿入(I)> を選んだのと同じです。この関数はレイアウトモードで使います。

構文

InsertLayout

戻り値

1

例

FUNCTION Example()

InsertLayout

END FUNCTION

関連項目

CreateStyle, ModifyLayout, ModifyStyle


InsertMenu

説明

指定のメニューバーに新しいプルダウンメニューを挿入します。

構文

InsertMenu(BarID,Position,NewMenu)

BarID は AddBar 関数からの戻り値のメニューバーの識別番号です。既定の Ami Pro メニューバーを使うときは１を指定します。

Position はメニューを挿入するメニューバー上の位置です。この引数は０で始まります (メニューバー上の始めの位置を挿入するとき) 。

NewMenu は挿入する新しいメニューの名前です。文字列中の文字の前にアンパサント「&」を置くことによって、アンダーライン付きのショートカットキーの文字になります。

戻り値

1 (TRUE) 	メニューが挿入されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	メニューが挿入できなかったとき

例

FUNCTION Example()

InsertMenu(1, 1, "&NewMenu")

END FUNCTION

関連項目

AddCascadeMenu, AddCascadeMenuItem, AddMenu, AddMenuItem, AddMenuItemDDE, InsertMenuItem, InsertCascadeMenu, InsertCascadeMenuItem, DeleteMenu, DeleteMenuItem


InsertMenuItem

説明

指定のプルダウンメニューに新しいメニュー項目を挿入します。

構文

InsertMenuItem(BarID,Menu,Position,Macro[!Function[(Parm1[,Parm2...])]][,Help])

BarID は AddBar からの戻り値のメニューバーの識別番号です。

既定の Ami Pro メニューバーを使うときは１を指定します。

Menu はこの項目を挿入する既存のメニューの名前です。アンパサント「&」を含むメニューの正確な名前を使います。

Position はメニュー項目を挿入するプルダウンメニュー内の位置です。この引数は０で始まります (プルダウンメニューの始めの位置に挿入するとき) 。

Item はこのメニュー項目にする文字列です。文字列中の文字の前にアンパサント「&」を置くことによって、アンダーライン付きのショートカットキーの文字になります。

Help はこのメニュー項目がハイライト表示になっているときに Ami Pro のタイトルバーに表われるオンラインヘルプの文字です。

戻り値

1 (TRUE) 	メニュー項目が挿入されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	メニュー項目が挿入できなかったとき

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

State = 0

DeleteMenuItem(1, "&Text", "B&old+Italic+Underline")

InsertMenuItem(1, "&Text", 10, "B&old+Italic+Underline", "{MacFile}!Example2({State})", "Bold and Italicize and Underline Text.")

END FUNCTION

FUNCTION Example2(State)

MacFile = GetRunningMacroFile$()

State = Right$((State - 1), 1)

Bold(State)

Underline(State)

Italic(State)

ChangeMenuAction(1, "&Text", "B&old+Italic+Underline", "{MacFile}!Example2({State})", "Bold and Italicize and Underline Text.")

CheckMenuItem(1, "&Text", "B&old+Italic+Underline", State)

END FUNCTION

関連項目

AddCascadeMenu, AddCascadeMenuItem, AddMenu, AddMenuItem, AddMenuItemDDE, InsertMenu, InsertCascadeMenu, InsertCascadeMenuItem, DeleteMenu, DeleteMenuItem


InsertMerge

説明

差し込みフィールドを挿入するためのダイアログボックスを表示します。

挿入する差し込みフィールドを選択します。

メニューで <編集(E) 挿入(I) 差し込みフィールド(F)> を選ぶことと同じです。この関数は自動的にフィールドの挿入はしません。自動的に挿入するには InsertMergeField 関数を使います。

構文

InsertMerge

戻り値

0

例

FUNCTION Example()

InsertMerge

END FUNCTION

関連項目

InsertMergeField


InsertMergeField

説明

文書に差し込みフィールドを挿入します。

メニューで <編集(E) 挿入(I) 差し込みフィールド(F)> を選ぶことと同じです。

この関数は有効なフィールド名であることを確認せずにフィールドを挿入します。

挿入するフィールド名が差し込みに使われるデータファイルと一致することを確認しておいてください。

構文

InsertMergeField(Field)

Field は挿入する差し込みフィールドの名前です。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は InsertMerge を使います。

戻り値

1 (TRUE) 	フィールド名が挿入されたとき

-2 (GeneralFailure) 	フィールド名が挿入されなかったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

InsertMergeField(Query$("What is the name of the merge field to insert?"))

END FUNCTION

関連項目

InsertDate, InsertVariable, InsertDocInfo, InsertMerge


InsertNewObject

説明

枠に OLE オブジェクトを挿入します。

メニューで <編集(E) 挿入(I) オブジェクト(O)> を選ぶことと同じです。

構文

InsertNewObject(Description)

ダイアログボックスを表示して、ユーザーが引数を指定する場合は InsertNewObject を使います。

戻り値

1 (TRUE) 	オブジェクトが挿入されたとき

-2 (GeneralFailure) 	挿入が失敗したとき

例

FUNCTION Example()

AddFrameDLG

InsertNewObject("Picture")

END FUNCTION

関連項目

AddFrame, AddFrameDLG


InsertNote

説明

挿入点に指定の文字列でメモを挿入します。

メニューで <編集(E) 挿入(I) メモ(N)> を選ぶことと同じです。この関数によりメモが挿入されメモのウィンドウはクローズします。

構文

InsertNote(Text)

Text はメモの内容です。

ユーザーがメモの位置を決め、メモを入力するには Notes 関数を使います。

戻り値

1 (TRUE) 	メモが挿入されたとき

-2 (GeneralFailure) 	メモが挿入されなかったとき

例

FUNCTION Example()

InsertNote("Ami Pro is the easiest word processor to learn.")

END FUNCTION

関連項目

Notes


InsertVariable

説明

日時挿入メニューを表示して、ユーザーが選択できるようにします。

メニューで <編集(E) 挿入(I) 日時(D)> を選ぶことと同じです。この関数は自動的に変数の挿入はしません。変数を直接挿入するには InsertDate、InsertMergeField、InsertDocInfoField の各関数を使います。

構文

InsertVariable

戻り値

0

例

FUNCTION Example()

InsertVariable

END FUNCTION

関連項目

InsertDate, InsertMergeField, InsertDocInfo


Instr

説明

パターンを文字列から検索します。

構文

Instr(Off,Text,Pattern)

Off は検索を始める文字列中の位置です。

Text は検索する文字列です。

Pattern は検索するパターンです。

戻り値

もし見つかればパターンの始まりの相対位置

0 (FALSE) 	見つからないとき

例

FUNCTION Example()

Name = UCASE$(Query$("What is your name?"))

FOR I = 65 to 90

Ltr = CHR$(I)

IF 0 != Instr(0, Name, Ltr)

TYPE("The letter {Ltr} is in your name.[Enter]")

ENDIF

NEXT

END FUNCTION

関連項目

strcat$, strfield$, Left$, Right$, MID$


IsDBCS

説明

指定された文字列の指定位置の文字が、SBCS なのか DBCS なのかを返します。

構文

IsDBCS(Text,Off)

Text は調べる文字列です。

Off は調べる文字列中の位置です。DBCS 文字も１文字として数えます。

戻り値

1 	SBCS

2 	DBCS

0 (FALSE)	Off で文字列よりも長い位置を指定したとき

例

FUNCTION Example()

text=Query$("チェックしたい文字列を入力してください","ABCD漢字")

max=klen(text)

count=Query$("何番目の文字をチェックしますか({max} 以下の数字を指定してください")

if count=0 then count=1 endif

chktext=kmid$(text,count,1)

if IsDBCS(text,count)=2

then message("""{chktext}"" は ﾀﾞﾌﾞﾙﾊﾞｲﾄｷｬﾗｸﾀｾｯﾄ 文字です")

else message("""{chktext}"" は ｼﾝｸﾞﾙﾊﾞｲﾄｷｬﾗｸﾀｾｯﾄ 文字です")

endif

END FUNCTION

関連項目

KEXT$, KInstr, Instr, KPOS


IsFrameSelected

説明

枠が現在選択されているかどうかを調べます。

構文

IsFrameSelected()

戻り値

1 (TRUE) 	枠が現在選択されているとき

2 (FALSE) 	枠が現在選択されていないとき

例

FUNCTION Example()

LayoutMode()

IF not IsFrameSelected()

    Pos = CursorPosition$()

    x = strfield$(Pos, 1, ",")

    y = strfield$(Pos, 2, ",")

    AddFrame(x, y, (x + 1440), (y - 1440))

ENDIF

DrawingMode()

END FUNCTION

関連項目

AddFrame, AddFrameDLG


IsNumeric

説明

文字列が数値かどうかを調べます。ただし、指定した文字列の先頭１バイトのみを調べるため、たとえば 12XYZ は数値と判断します。

構文

IsNumeric(Text)

Text は評価する文字列です。

戻り値

1 (TRUE) 	文字列が数値のとき

O (FALSE) 	文字列が数値ではないとき

例

FUNCTION Example()

again:

Num1 = Query$("What is the first number?")

Num2 = Query$("What is the second number?")

IF (not IsNumeric(Num1)) OR (not IsNumeric(Num2))

    GoTo again

ENDIF

sum = Num1 + Num2

Message("The sum of {Num1} and {Num2} is {sum}.")

END FUNCTION

関連項目

FormatNum$, Mod, Round


Italic

説明

選択している文字列、あるいは挿入点からの入力文字の斜体属性を変更します。この機能は、トグルとして動き、現在がオンのときはオフに、オフのときはオンに属性を変えます。

メニューで <文字(T) 斜体(I)> を選んだのと同じです。

構文

Italic()

戻り値

1 (TRUE) 	文字が斜体あるいは非斜体になったとき

-2 (GeneralFailure) 	属性が変わらなかったとき

例

FUNCTION Example()

String = "文字属性を変更したテキストの表示例です。  ABC  abc  12345  ｶﾀｶﾅ[Enter]"

NormalText()

TYPE("標準  ...[Enter]{String}")

BOLD()

TYPE("太字  ...[Enter]{String}")

BOLD()

Italic()

TYPE("斜体  ...[Enter]{String}")

Italic()

Underline()

TYPE("下線  ...[Enter]{String}")

Underline()

WordUnderline()

TYPE("単語下線  ...[Enter]{String}")

WordUnderline()

Bold()

Underline()

Italic()

TYPE("太字,  下線,  斜体  ...[Enter]{String}")

NormalText()

TYPE("標準  ...[Enter]{String}")

END FUNCTION

関連項目

Bold, NormalText, Underline, WordUnderline


JISToSJIS
JISToSJIS$

説明

引き数で与えられるJISコードの数値文字列をシフトJISコードの数値文字列にして返します。

構文

JISToSJIS$(Text)

Text は、JISコードとして有効な数値文字列

戻り値

関数の引数から求めたシフトJISコードの数値文字列

例

Function Example()

Again:

text=Kmid$(Query$("漢字を一文字入力してください","漢"),1,1)

if IsDBCS(text,1)<>2 then goto Again endif

sj=SJIS$(text)

Hsj=HEX$(sj)

js=SJISToJIS$(sj)

Hjs=HEX$(js)

Message("""{text}"" は ｼﾌﾄJISｺｰﾄﾞ:{Hsj}  JISｺｰﾄﾞ:{Hjs} です")

Nsj=KNJ$(sj+1)

Njs=KNJ$(JISToSJIS$(js+1))

Message("{text} の ｼﾌﾄJISｺｰﾄﾞ での次の文字は {Nsj} です")

Message("{text} の JISｺｰﾄﾞ での次の文字は {Njs} です")

End Function

関連項目

SJISToJIS


Justify

説明

文字がある段落の両端揃えをオンまたはオフに切り換えます。

メニューで <文字(T) 文字揃え(A) 両端揃え(J)> を選ぶことと同じです。

構文

Justify()

戻り値

1 (TRUE) 	両端揃えされたか、または両端揃えが解除されたとき

-2 (GeneralFailure) 	両端揃えが変更されなかったとき

例

FUNCTION Example()

String = " ［文字揃え］ .. "

Center()'Turn Center On

TYPE("{String} 中央揃え[Enter]")

Center()'Turn Center Off

LeftAlign()'Turn Left Alignment On

TYPE("{String} 左寄せ[Enter]")

LeftAlign()'Turn Left Alignment Off

RightAlign()'Turn Right Alignment On

TYPE("{String} 右寄せ[Enter]")

RightAlign()'Turn Right Alignment Off

Justify()'Turn Jusification On

TYPE("{String} 両端揃え[Enter]")

Justify()'Turn Justification Off

END FUNCTION

関連項目

Center, LeftAlign, NormalText, RightAlign


KeyboardHelp

説明

Ami Pro のオンラインヘルプを表示します。

メニューで <ヘルプ(H) キーボード(K)> を選ぶことと同じです。

この関数は自動的にヘルプトピックを選択しません。

ユーザーが任意に選ぶ項目でヘルプを見る通常の方法でヘルプシステムを使えます。

ヘルプは通常の Ami Pro ウィンドウとは別のウィンドウを表示しますが、Ami Pro ウィンドウを書き直す別のマクロがヘルプウィンドウを Ami Pro ウィンドウに置き換えます。

この関数は、マクロの最後で使います。

構文

KeyboardHelp()

戻り値

1 (TRUE) 	ヘルプウィンドウが表示されたとき

-2 (GeneralFailure) 	表示できなかったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

KeyboardHelp()

END FUNCTION

関連項目

About, Help, BasicsHelp, HowDoIHelp, MacroHelp, UsingHelp


KEXT
KEXT$

説明

指定された文字列中の SBCS 文字、または DBCS 文字だけを抜き出します。

構文

KEXT$(Text,Style)

Text は抜き出す文字列です。

Style は抜き出す文字が SBCS なのか DBCS なのかを指定します。

1 - SBCS 文字を抜き出します

2 - DBCS 文字を抜き出します

戻り値

抜き出した文字列

例１

FUNCTION

KEXT$("A漢B字C",1)

END FUNCTION

この例の出力結果は"ABC"になります。

例２

FUNCTION

KEXT$("A漢B字C",2)

END FUNCTION

この例の出力結果は"漢字"になります。

関連項目

IsDBCS, KInstr, Instr, KPOS


KInstr

説明

パターンを文字列から検索します。Instr の DBCS 対応版です。

構文

KInstr(Off,Text,Pattern)

Off は検索を始める文字列中の位置です。DBCS 文字も１文字として数えます。

Text は検索する文字列です。

Pattern は検索するパターンです。

戻り値

もし見つかればパターンの始まりの相対位置。

0 (FALSE)	見つからないとき、または Off で文字列よりも長い位置を指定したとき

例

FUNCTION Example()

a = KInstr(1,"ABC漢字","漢字")

message("KInstr(1,""ABC漢字"",""漢字"") = {a}")

END FUNCTION

関連項目

Instr, KPOS


KLEN

説明

指定された文字列の文字数を返します。LEN の DBCS 対応版です。

DBCS 文字も１文字として数えます。

構文

KLEN(Text)

Text は長さを求める文字列です。

戻り値

DBCS 文字も１文字として数えた文字列の長さ

0 (FALSE)	文字列が空のとき

例

FUNCTION Example()

length = KLEN("ABC漢字")

Message("KLEN(""ABC漢字"") = {length}")

END FUNCTION

関連項目

LEN, KMID$, MID$


KMID
KMID$

説明

文字列の一部分を取り出します。MID$ の DBCS 対応版です。

構文

KMID$(Text,Start,Length)

Text は取り出す元の文字列です。

Start は文字列中の取り出しを開始する位置です。Start は１が先頭位置です。DBCS 文字も１文字として数えます。

Length は指定された文字列から取り出す文字数です。DBCS 文字も１文字として数えます。

戻り値

取り出した文字列。

開始位置が文字列の長さを越えているときは空白の文字列("")。

例

FUNCTION Example()

offset = KMID$("A漢字B", 3, 2)

Message("KMID$(""A漢字B"",3,2) = {offset} ")

END FUNCTION

関連項目

MID$, KLEN, LEN


KNJ
KNJ$

説明

引数で与えられるシフトJISコードの数値文字列のシフトJIS文字を返します。

構文

KNJ$(Text)

Text は、シフトJISコードとして有効な数値文字列

戻り値

関数の引数から求めたシフトJIS文字

例

Function Example()

Again:

text=Kmid$(Query$("漢字を一文字入力してください","漢"),1,1)

if IsDBCS(text,1)<>2 then goto Again endif

sj=SJIS$(text)

Hsj=HEX$(sj)

js=SJISToJIS$(sj)

Hjs=HEX$(js)

Message("""{text}"" は ｼﾌﾄJISｺｰﾄﾞ:{Hsj}  JISｺｰﾄﾞ:{Hjs} です")

Nsj=KNJ$(sj+1)

Njs=KNJ$(JISToSJIS$(js+1))

Message("{text} の ｼﾌﾄJISｺｰﾄﾞ での次の文字は {Nsj} です")

Message("{text} の JISｺｰﾄﾞ での次の文字は {Njs} です")

End Function

関連項目

SJIS$


KPos

説明

指定された文字列の指定位置が何バイト目なのかを返します。

構文

KPos(Text,Off)

Text は調べる文字列です。

Off は調べる文字列中の位置です。DBCS 文字も１文字として数えます。

戻り値

指定位置のバイト数

0 (FALSE)	Off で文字列よりも長い位置を指定したとき

例

FUNCTION Example()

knjpos = KPos("ABC漢字",5)

Message("KPos(""ABC漢字"",5) is {knjpos}")

END FUNCTION

関連項目

KEXT$, KInstr, Instr, IsDBCS


LayoutMode

説明

Ami Pro をドラフトモードまたはアウトラインモードからレイアウトモードに変更します。

メニューで <表示(V) レイアウトモード(L)> を選ぶことと同じです。

構文

LayoutMode()

戻り値

1 (TRUE) 	表示モードが変更されたとき

0 (NoAction) 	Ami Pro がすでに指定のモードになっていたとき

例

FUNCTION Example()

unit=1440 * 0.3937'Twips / cm

Mode = GetMode()'What mode is the screen in?

IF Mode != 1

LayoutMode()'If not Layout Mode, make it so.

ENDIF

IF Decide("現在のカーソル位置に”枠”を作成してもいいですか？")

'Give user Yes or No Dialog Box

Position = CursorPosition$()'Get current cursor prosition, in twips

X = strfield$(Position, 1, ",")'Parse out the X coordinate

Y = strfield$(Position, 2, ",")'Parse out the Y coordinate

X2 = X + (Query$("幅は何cmにしますか？") * unit)

'Compute Length of box

Y2 = Y + (Query$("高さは何cmにしますか", "1") * (unit * -1))

'Compute height of box

AddFrame(X, Y, X2, Y2)'Add the frame, using current defaults

ELSE

AddFrameDLG'Display Add Frame dialog box.

ENDIF

IF Mode = 48

type("[CtrlHome]")

OutlineMode()

ELSEIF Mode = 16

type("[CtrlHome]")

DraftMode()

ENDIF

END FUNCTION

関連項目

DraftMode, OutlineMode, EnlargedView, FacingView, FullPageView, GetMode, GetViewLevel, StandardView


LCASE
LCASE$

説明

文字列中の大文字を小文字に変更し、結果の文字列を返します。句読点や数字は変更しません。

構文

LCASE$(Text)

Text は小文字に変更する文字列です。

戻り値

すべて小文字の文字列

例

FUNCTION Example()

Number = Query$("いくら売れたましたか?（金額)")

Again:

Where = Query$("どこで販売しましたか? (J)日本, or (A)アメリカ?")

Where = lcase$(Left$(Where, 1))

IF Where = "j"

Prefix = "\"

Suffix = ""

decimals = 0

ELSEIF Where = "a"

Prefix = "$"

Suffix = ""

decimals = 2

ELSE

Message("""j"" 又は ""a""を入力してください")

GoTo again

ENDIF

NewNumber = FormatNum$(Prefix, Suffix, decimals, Number)

if where = "a" then

Message("The sale was for {NewNumber}.")

else

Message("売上高　{NewNumber}")

endif

END FUNCTION

関連項目

ASC, CHR$, strcat$, strchr, strfield$, UCASE$, MID$, LEN, FormatNum$, Instr


LeaderDots

説明

現在の表のセルまたは指定の表のセルの中でリーダーを使います。

メニューで <表(B) リーダー(E)> を選ぶことと同じです。

構文

LeaderDots()

ダイアログボックスを表示して、ユーザーが引数を指定する場合は LeaderDots を使います。

戻り値

1 (TRUE) 	リーダーを使ったとき

-6 (NoMemory) 	メモリ不足のために失敗したとき

0 (NoAction) 	何もしなかったとき

例

FUNCTION Example()

LeaderDots()

END FUNCTION

関連項目

TableLines, LeaderHyphs, LeaderLines, LeaderNone


LeaderHyphs

説明

現在の表のセルまたは指定の表のセルの中でリーダーの文字としてハイフンを使います。

メニューで <表(B) リーダー(E)> を選んで、リーダーのタイプとして <- - -> を選ぶことと同じです。

構文

LeaderHyphs()

戻り値

1 (TRUE) 	リーダーが用いられたとき

-6 (NoMemory) 	メモリ不足のために失敗したとき

0 (NoAction) 	何もしなかったとき

例

FUNCTION Example()

LeaderHyphs()

END FUNCTION

関連項目

TableLines, LeaderDots, LeaderLines, LeaderNone


LeaderLines

説明

現在の表のセルまたは指定の表のセルの中でリーダーの文字として下線を用います。

メニューで <表(B) リーダー(E)> を選んで、リーダーのタイプとして下線を選ぶことと同じです。

構文

LeaderLines()

戻り値

1 (TRUE) 	リーダーが用いられたとき

-6 (NoMemory) 	メモリ不足のために失敗したとき

0 (NoAction) 	何もしなかったとき

例

FUNCTION Example()

LeaderLines()

END FUNCTION

関連項目

TableLines, LeaderDots, LeaderHyphs, LeaderNone


LeaderNone

説明

現在の表のセルまたは指定の表のセルの中のリーダーをとります。

メニューで <表(B) リーダー(E)> を選んで、リーダーのタイプとして <なし(N)> を選ぶことと同じです。

構文

LeaderNone()

戻り値

1 (TRUE) 	使っていたリーダーがなくなったとき

-6 (NoMemory) 	メモリ不足のために失敗したとき

0 (NoAction) 	何もしなかったとき

例

FUNCTION Example()

LeaderNone()

END FUNCTION

関連項目

TableLines, LeaderDots, LeaderHyphs, LeaderLines


Left
Left$

説明

文字列の左から指定した数の文字を返します。

構文

Left$(Text,Length)

Text は文字列です。

Length は文字列の左端からの文字数です。

戻り値

文字列の左端からの指定された数の文字。

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	文字列が分解できなかったとき

例

FUNCTION Example()

Message(Left$(Query$("What is your name?"), 5))

END FUNCTION

関連項目

Right$, Instr, MID$


LeftAlign

説明

文字がある段落の左寄せをオンまたはオフに変えるトグルです。

メニューで <文字(T) 文字揃え(A) 左寄せ(L)> を選ぶことと同じです。

構文

LeftAlign()

戻り値

1 (TRUE) 	左寄せ変更したとき

-2 (GeneralFailure) 	変更されなかったとき

例

FUNCTION Example()

String = " ［文字揃え］ .. "

Center()'Turn Center On

TYPE("{String} 中央揃え[Enter]")

Center()'Turn Center Off

LeftAlign()'Turn Left Alignment On

TYPE("{String} 左寄せ[Enter]")

LeftAlign()'Turn Left Alignment Off

RightAlign()'Turn Right Alignment On

TYPE("{String} 右寄せ[Enter]")

RightAlign()'Turn Right Alignment Off

Justify()'Turn Jusification On

TYPE("{String} 両端揃え[Enter]")

Justify()'Turn Justification Off

END FUNCTION

関連項目

Center, Justify, NormalText, RightAlign


LeftEdge

説明

挿入点を変えずに文書をページの左端にスクロールします。

マウスを使って水平スクロールバー上のスクロールボックスを左端にドラッグするのと同じです。この関数はレイアウトモードでのみ使えます。

構文

LeftEdge()

戻り値

0

例

FUNCTION Example()

LeftEdge()

END FUNCTION

関連項目

CharLeft, CharRight, EndOfFile, LineDown, LineUp, RightEdge, ScreenDown, ScreenLeft, ScreenRight, ScreenUp, TopOfFile


LEN

説明

指定された文字列の文字数を返します。

構文

LEN(Text)

Text は長さを求める文字列です。

戻り値

文字列の長さ

0 (FALSE) 	文字列が空のとき

例

FUNCTION Example()

DEFSTR Char;

OpenFile = GetOpenFileName$()

I = len(OpenFile)

WHILE "\" != Assign(&Char, MID$(OpenFile, I, 1))

    I = I - 1

WEND

FileName = Right$(OpenFile, (len(OpenFile) - I))

Message("The current file is {FileName}.")

END FUNCTION

関連項目

strcat$, LCASE$, UCASE$, strfield$, MID$, strchr, FormatNum$, Right$, Left$


LineDown

説明

挿入点を変えずに文書を１行下へスクロールします。

マウスを使って垂直スクロールバーの上端の上矢印を１度クリックするのと同じです。

構文

LineDown()

戻り値

0

例

FUNCTION Example()

WHILE (1)

UserControl("Choose Resume to perform a LineDown...")

LineDown()

WEND

END FUNCTION

関連項目

CharLeft, CharRight, EndOfFile, LeftEdge, LineUp, RightEdge, ScreenDown, ScreenLeft, ScreenRight, ScreenUp, TopOfFile


LineNumber

説明

文書の外の左隅に行番号を表示します。

メニューで <ページ(P) 行番号(L)> を選ぶことと同じです。

構文

LineNumber(Which,Style,Custom)

Which は行番号を付けるための間隔の種別で、次の中から１つを指定します。

Off (0) - 行番号なし

NumberEvery (2) - 毎行

NumberEveryOther (4) - １行置き

NumberEveryFifth (8) - ５行ごと

ResetEachPage - 文書のページ単位に番号をリセットする。

NumberEveryCustom(32) - N 行ごと、N は任意の数。

Style は行番号のための余白を指定する段落スタイルです。Style 引数は行番号がなしのときも指定します。

Custom は行番号付けの間隔を指定する N です。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は LineNumber を使います。

戻り値

1 (TRUE) 	行番号付けが設定されたとき

0 (UserCancel) 	中止したか、または何も起こらなかったとき

例

FUNCTION Example()

LineNumber(3, "Body Text", 0)

END FUNCTION

関連項目

PageNumber


LineUp

説明

挿入点を変えずに文書を１行上へスクロールします。

マウスを使って垂直スクロールバーの下隅の下矢印を１度クリックするのと同じです。

構文

LineUp()

戻り値

0

例

FUNCTION Example()

WHILE (1)

UserControl("Choose Resume to perfom a LineUp...")

LineUp()

WEND

END FUNCTION

関連項目

CharLeft, CharRight, EndOfFile, LeftEdge, LineDown, RightEdge, ScreenDown, ScreenLeft, ScreenRight, ScreenUp, TopOfFile


LoadOptions

説明

Ami Pro 表示の環境設定をします。

メニューで <ツール(L) 環境設定(U)> を選択し、<起動時(L)> ボタン を選ぶことと同じです。

構文

LoadOptions(InitialView,Options,StyleSheet)

InitialView は始めに100％表示または指定サイズ表示のどちらで表示するかを指定します。

InitialView は次の中のどちらかを指定します。

StartWorking (2) - 指定サイズ表示で始める。

StartStandard (3) - 100％表示で始める。

Options は他の表示既定値を決めるフラグです。

StartOutline (256) - プログラムをアウトラインモードで始める

StartLayout (1) - プログラムをレイアウトモードで始める。

どちらも指定しなければドラフトモードで始めます。

StyleBox (2) - プログラムを開始するときスタイルボックスを表示します。それ以外は表示しません。

StartMax - プログラムがロードされたとき Ami Pro ウィンドウを最大化します。それ以外は以前にセットされているウィンドウサイズを使います。

ShowLogo - プログラムを開始するとき Ami Pro ロゴを表示します。それ以外は表示しません。

複数のオプションをセットするときは関数に渡す前にオプションの値を一緒に加えます。

StyleSheet は新しい文書に使う既定のスタイルシートです。

<表示オプション(P)> ダイアログボックスを表示して、ユーザーが引数を指定する場合は ViewPreferences を使います。

戻り値

1 (TRUE) 	起動時のオプションが正しく設定されたとき

0 (UserCancel) 	関数を中止したとき

-2 (GeneralFailure) 	オプションが設定できなかったとき

例

FUNCTION Example()

LoadOptions(StartStandard, StartLayout, "~MACRO.STY")

END FUNCTION

関連項目

ViewPreferences, SetDefOptions


LowerCase

説明

指定の文字あるいは入力文字を小文字にします。

オフのときオンに、オンのときオフに変わる小文字属性のトグルです。

メニューで <文字(T) 大文字/小文字(C) 小文字(L)> を選ぶことと同じです。

構文

LowerCase()

戻り値

1 (TRUE) 	属性が変わったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

LowerCase()

END FUNCTION


MacroEdit

説明

マクロを編集するためのダイアログボックスを表示します。メニューで <ツール(L) マクロ(M) 編集(E)> を選ぶことと同じですが記録はできません。

構文

MacroEdit()

戻り値

1

例

FUNCTION Example()

MacroEdit()

END FUNCTION

関連項目

MacroPlay, MacroOptions, ChangeShortcutKey


MacroHelp

説明

Ami Pro マクロのウィンドウヘルプを表示します。

メニューで <ヘルプ(H) マクロ解説(M)> を選ぶことと同じです。ユーザーは希望する項目でヘルプを見るヘルプシステムを使えます。

構文

MacroHelp()

戻り値

1 (TRUE) 	マクロヘルプウィンドウが表示されたとき

-2 (GeneralFailure) 	マクロヘルプウィンドウが何か他の理由で表示されなかったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

MacroHelp()

END FUNCTION

関連項目

About, Help, BasicsHelp, HowDoIHelp, KeyboardHelp, UsingHelp


MacroOptions

説明

簡易マクロ記録オプションのダイアログボックスを表示します。記録できないこと以外はメニューで <ツール(L) マクロ(M) 記録(R) オプション(O)> を選ぶことと同じです。このダイアログボックスでは <ツール(L) マクロ(M) 簡易記録(Q)> と <ツール(L) マクロ(M) 簡易実行(U)> のショートカットキーの選択ができます。

構文

MacroOptions()

戻り値

1

例

FUNCTION Example()

MacroOptions()

END FUNCTION

関連項目

MacroEdit, MacroPlay, ChangeShortcutKey


MacroPlay

説明

マクロを実行するためのダイアログボックスを表示します。メニューで <ツール(L) マクロ(M) 実行(P)> を選ぶことと同じです。但し、記録はできません。

構文

MacroPlay()

戻り値

1

例

FUNCTION Example()

MacroPlay()

END FUNCTION

関連項目

MacroEdit, MacroOptions, ChangeShortcutKey


MarkBookMark

説明

しおりの追加、削除、特別なしおりに移動をします。

メニューで <編集(E) マーク(M) しおり(B)> を選ぶことと同じです。

構文

MarkBookMark(Name,Which)

Name は新しいしおりの名前です。

Which は実行するしおりの機能で、次の中から１つを指定します。

AddBookMark (4003) - 指定された名前で新しいしおりを追加する。

DeleteBookMark (4004) - 指定されたしおりを削除する。

FindBookMark (4002) - 指定されたしおりに移動する。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は MarkBookMark を使います。

戻り値

1 (TRUE) 	しおりの機能が正しく終了したとき

-2 (GeneralFailure) 	終了できなかったとき

例

FUNCTION Example()

MarkBookMark("しおり", AddBookMark)

TYPE("[CtrlEND]")

PageNo = GetPageNo()

MarkBookMark("しおり", FindBookMark)

Text = GetMarkText$()

MarkBookMark("しおり", DeleteBookMark)

IF Text != ""

   Message("挿入したしおり名は ""{Text}"", この文書は {PageNo} ページあります")

   ENDIF

END FUNCTION

関連項目

GoToCmd, GoToShade, GetMarkText$


MarkIndexWord

説明

索引に登録するために挿入点の語にマークを付ける <索引項目登録> ダイアログボックスを表示します。

メニューで <編集(E) マーク(M) 索引(I)> を選ぶことと同じです。

自動的に索引のための語にマークするには、 FieldAdd を使います。

自動的に索引登録から取り除くには FieldRemove を使います。

構文

MarkIndexWord

戻り値

1 (TRUE) 	単語が索引のためにマークされたとき

-2 (GeneralFailure) 	マークされなかったとき

例

FUNCTION Example()

MarkIndexWord

END FUNCTION

関連項目

Generate, FieldAdd, FieldRemove


MasterDoc

説明

<グループ文書> のダイアログボックスを表示してグループ文書に追加したり削除するファイルを選択します。

メニューで <ファイル(F) グループ文書(E)> を選ぶことと同じです。

この関数は自動的にグループ文書にファイルを追加したり削除したりはしません。SetMasterFiles を参照してください。

構文

MasterDoc()

戻り値

0

例

FUNCTION Example()

MasterDoc

END FUNCTION

関連項目

SetIndexFile, SetTOCFile, MasterDocOpts, SetMasterFiles, SetTOCOpts


MasterDocOpts

説明

<グループ文書オプション> のダイアログボックスを表示します。

メニューで <ファイル(F) グループ文書(E) オプション(O)> を選ぶことと同じです。

この関数は自動的にグループ文書のオプションの設定はしません。

SetIndexFile と SetTOCFile 関数を参照してください。

構文

MasterDocOpts()

戻り値

0

例

FUNCTION Example()

MasterDocOpts

END FUNCTION

関連項目

SetIndexFile, SetTOCFile, MasterDoc, SetMasterFiles, SetTOCOpts


Maximize

説明

Ami Pro ウィンドウを最大化して画面全体に広げます。

Windows のコントロールメニューボタンで<最大化(X)> を選ぶことと同じです。

ウィンドウサイズがすでに最大のときは１つ前のウィンドウサイズを復元します。

この関数を実行すると全ての他のウィンドウは Ami Pro ウィンドウの後に隠れます。

構文

Maximize()

戻り値

なし

例

FUNCTION Example()

Maximize()

END FUNCTION

関連項目

Minimize, Restore


Merge

説明

標準の文書にデータファイルを差し込みます。

メニューで <ファイル(F) 差し込み(G)> を選ぶことと同じです。この関数を使うと標準文書を直接プリンタに差し込み印刷できます。差し込み関数を使う前に、Ami Pro がレイアウトモードになっていて、差し込みを実行する標準文書がスクリーン上にあることを確認してください。

構文

Merge(Flag,Recfile,[Descfile],[Labelsacross,Labelsdown,Offsetright,Offsetdown],[Selectionkey,Operator,Fieldnum,Nextop]...)

Flag はどの任意の引数を使うかを定義する値で、次の中から１つを指定します。

0 (Zero) - 選択条件なし

1 (One) - 選択条件１つ

2 (Two) - 選択条件２つ

3 (Three) - 選択条件３つ

8 (Description) - 説明ファイルを使い、説明ファイル名を含む場合

16 (Labels) - 文字列の差し込みの場合

8 (Description) の値と16 (Labels) の値の条件が、Flag の引数の値を作成するために使われるときには、それらの値に (0) から (3) の条件として使われる数を加えなければなりません。Recfile は標準文書が差し込まれるレコードファイルです。

Descfile はレコードファイルが Ami Pro ファイルではないときに使われる任意の説明ファイルです。Descfile はレコードファイルが使われるときにのみ、その次の引数として使われます。

４つの Labels の引数すべてが文字列を差し込むときに必要です。標準の差し込みのときは４つすべてが省略できます。

Labelsacross はページの横方向の任意の Labels の数です。

Labelsdown はページの縦方向の任意の Labels の数です。

Offsetright は twips ( 1 inch = 1440 twips ) 単位で最初の Labels から右へ数えていく、任意のオフセット間隔です。

Offsetdown は twips ( 1 inch = 1440 twips ) 単位で最初の Labels から下へ数えていく、任意のオフセット間隔です。

Selectionkey は差し込むレコードの選択に使う文字列または数字です。SelectionKey は英数字の比較を行うときは文字列、数値比較を行うときは数字です。

Operator は選択比較で使う演算子で、次の値の中から１つを指定します。

Equal (0) - キーと等しい値の項目

LessThan (1) - キーより小さい値の項目

GreaterThan (2) - キーより大きい値の項目

NotEqual (3) - キー異なる値の項目

Lteq (4) - キーより小さいか等しい値の項目

Gteq (4) - キーより大きいか等しい値の項目

Fieldnum はこの選択に使う項目の数です。０が基本でレコードファイルの始めの項目と比較するときは０にします。

Nextop は指定した数の各項目とキーとの比較で AND するか OR にするかを指定します。特に必要ないときは 0 にします。

AndNext (1) - 各項目値の比較の AND をとります。

OrNext (1) - 各項目値の比較の OR をとります。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は Merge を使います。

戻り値

1 (TRUE) 	差し込みが完了したとき

0 (UserCancel) 	中止したとき

-3 	入力が不正だったとき

-2 	差し込みが失敗したとき

例

FUNCTION Example()

Merge(0, "TEST.SAM")

END FUNCTION

関連項目

InsertMergeField


MergeToFile

説明

標準文書にデータファイルで差し込みを行い、後で編集したり印刷できるように結果を別のファイルに保存します。

メニューで <ファイル(F) 差し込み(G) 差し込み保存(S)> を選ぶことと同じです。

差し込み関数を使う前に Ami Pro がレイアウトモードになっていて差し込みたい標準文書が画面上にあることを確認してください。

構文

MergeToFile(Flag,Recfile,Outfile,[Descfile],[Labelsacross,Labelsdown,Offsetright,Offsetdown],[Selectionkey,Operator,Fieldnum,Nextop]...)

Flag はどの任意の引数を使うかを定義する値で、次の中から１つを指定します。

0 (Zero) - 選択条件なし

1 (One) - 選択条件１つ

2 (Two) - 選択条件２つ

3 (Three) - 選択条件３つ

8 (Description) - 説明ファイルを使い、説明ファイル名を含む場合

16 (Labels) - 文字列の差し込みの場合

32 (ToFile) - ファイルに差し込みを行うとき

8 (Description) の値と16 (Labels) の値の条件が使われるときには、それらの値に (0) から (3) の条件として使われる数を加えなければなりません。この差し込みはファイルに対するものなので、Flag の引数の値を作成するために、この差し込み結果に 32(ToFile) を加えます。

Recfile は差し込むレコードファイルです。

OutFile は差し込みされた文書を保存するファイルです。

Descfile はレコードファイルが Ami Pro ファイルでないとき使われる任意の説明ファイルです。

残りの任意の引数は Merge 関数で指定するのと同じです。 Merge 関数の説明を参照してください。

Labelsacross はページの横方向の任意の Labels の数です。

Labelsdown はページの縦方向の任意の Labels の数です。

Offsetright は twips ( 1 inch = 1440 twips ) 単位で最初の Labels から右へ数えていく、任意のオフセット間隔です。

Offsetdown は twips ( 1 inch = 1440 twips ) 単位で最初の Labels から下へ数えていく、任意のオフセット間隔です。

Selectionkey は差し込むレコードの選択に使う文字列または数字です。SelectionKey は英数字の比較を行うときは文字列、数値比較を行うときは数字です。

Operator は選択比較で使う演算子です。

Fieldnum はこの選択に使う項目の数です。０が基本です。

Nextop はこの各項目の比較の AND をとったもので選択するのかあるいは OR をとったもので選択するのかのどちらかを決める数です。

差し込みのダイアログボックスを表示して、ユーザーが引数を指定する場合は Merge を使います。

戻り値

0 (UserCancel) 	中止したとき

-2	差し込みが失敗したとき

例

FUNCTION Example()

if FileOpen("宛名ﾗﾍﾞﾙ.SAM",1,"")=1

MergeToFile(32, "住所録.SAM", "Mergeﾃｽﾄ.SAM")

endif

END FUNCTION

関連項目

InsertMergeField, Merge


Message

説明

指定したガイド文字列と <了解> ボタンがあるウィンドウメッセージボックスを表示します。

メッセージを確認して、ユーザーが <了解> を選択することを待ちます。

構文

Message(Prompt[, Title])

Prompt はガイドとして使われる文字列で、最大 80文字です。

Title はマクロのメッセージボックスにタイトルを付けられます。既定値は”Ami Proマクロ”です。

戻り値

なし

例

FUNCTION Example()

DEFSTR Char;

OpenFile = GetOpenFileName$()

I = LEN(OpenFile)

WHILE "\" != Assign(&Char, MID$(OpenFile, I, 1))

I = I - 1

WEND

FileName = Right$(OpenFile, (len(OpenFile) - I))

Message("ｶﾚﾝﾄ文書ﾌｧｲﾙ名は {FileName} です","ｻﾝﾌﾟﾙﾏｸﾛ")

END FUNCTION

関連項目

Decide, DialogBox, MultiDecide, Query$, UserControl


Messages

説明

マクロの実行中に、ユーザーがプログラムメッセージに対して返答する必要があるかどうかを、マクロのプログラマーが決定することができます。多くの Ami Pro の機能は、実行前にメッセージボックスを表示してユーザーに確認を求めます。

この関数により、メッセージ表示をオフにしたときは、マクロは、メッセージを表示せずに、ユーザーが [RETURN] を押したとして、既定の Ami Pro 機能を実行することができます。

メッセージ表示をオンにしたときは、通常のメッセージボックスが表示され、ユーザーに確認を求めます。

特定のメッセージと返答を必要とする機能には、 AnswerMsgBox を使います。

構文

Messages(State)

State はマクロの実行中にマクロプログラマーの関与しないメッセージを表示するかどうかを指定します。

メッセージを表示するときは 1 (オン) 。

既定の応答を受けたとしてメッセージを表示しないときは 0 (オフ) にします。

戻り値

なし

例

FUNCTION Example()

Messages(Off)

FileClose()

Messages(On)

FileClose()

END FUNCTION

関連項目

AnswerMsgBox, SingleStep, UserControl, IgnoreKeyboard


MID
MID$

説明

文字列の一部分を取り出します。

構文

MID$(Text,Start,Length)

Text は取り出す元の文字列です。

Start は文字列中の取り出しを開始する位置です。Start は１が先頭位置です。長い文字列の先頭から取り出すには Start 引数に１を指定するかまたは Left$ を使います。

Length は指定された文字列から取り出す文字数です。

戻り値

取り出した文字列

開始位置が文字列の長さを越えているときは空文字列 ("")

例

FUNCTION Example()

DEFSTR Char;

OpenFile = GetOpenFileName$()

I = len(OpenFile)

WHILE "\" != Assign(&Char, MID$(OpenFile, I, 1))

    I = I - 1

WEND

FileName = Right$(OpenFile, (len(OpenFile) - I))

Message("The current file is {FileName}.")

END FUNCTION

関連項目

ASC, CHR$, strcat$, LCASE$, UCASE$, strfield$, LEN, strchr, FormatNum$


Minimize

説明

Ami Pro ウィンドウを最小化にしてアイコンにします。

Windows のコントロールメニューボタンを押して <最小化(N)> を選ぶことと同じです。

ウィンドウがすでにアイコンに縮小されている場合は１つ前のウィンドウサイズを復元します。

Ami Pro が最小化されたときマクロはバックグラウンドで続けて実行されます。

構文

Minimize()

戻り値

なし

例

FUNCTION Example()

Minimize()

END FUNCTION

関連項目

Maximize, Restore


Mod

説明

１番目の引数を２番目の引数で割った余りを求めます。

構文

Mod(Numerator,Denominator)

Numerator 分子です。

Denominator 分母です。

戻り値

除算の余り

-2 (GeneralFailure) 	除算できなかったとき

例

FUNCTION Example()

DECLARE Example2(p1, p2) ALIAS ExMac

Top = Query$("Enter the value for the numerator:")

Bottom = Query$("Enter the value for the denominator:")

Result = ExMac(Top, Bottom)

Message(Result)

END FUNCTION

FUNCTION Example2(Numerator, Denominator)

Result = MOD(Numerator, Denominator)

Return Result

END FUNCTION

関連項目

Round, IsNumeric


ModifyAlignment

説明

段落スタイルの文字揃えを変更します。

メニューで <スタイル(S) スタイル修正(M) 文字揃え(G)> を選ぶことと同じです。

この関数の前に ModifySelect を呼んで変更するスタイルを定義しておきます。

新しい文字揃えのオプションを選ばれた段落スタイルで有効にするためには ModifyReflow を呼ぶ必要があります。

構文

ModifyAlignment(Options,AllLevel,FirstLevel,RestLevel,Units,RightIndent)

Options は段落スタイルの文字揃えのオプションを含むフラグです。Options 引数は次の中から１つまたは組合わせて指定します。

AlignLeft (1) - 左寄せ

AlignRight (2) - 右寄せ

AlignCenter (4) - 中央揃え

AlignJustify (8) - 両端揃え

IndentBoth (16) - 段落の両側にインデントを付ける。

NoIndentAll (32) - 段落全体にインデントを付けない。

NoIndentFirst (64) - １行目にインデントを付けない。

NoIndentRest (128) - ２行目以降にインデントを付けない。

Hyphenate (256) - 段落にハイフンを付ける。

Hangingindent (512) - ぶら下がりインデントを持つ。

４つの文字揃えのオプションのうち１つは常に選ばれています。複数のオプションは加算して引数の値にします。

AllLevel は段落のすべての行にインデントを付けるレベルです。

NoIndentAll フラグがセットされているときは無視されます。

FirstLevel は段落の１行目にインデントを付けるレベルです。 NoIndentFirst フラグがセットされているときは無視されます。

RestLevel は段落の２行目以降にインデントを付けるレベルです。NoIndentRest フラグがセットされているときは無視されます。

Units は <スタイル修正(M) 文字揃え(G)> のダイアログボックスで選択されるインデントのサイズです。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

RightIndent は段落のすべての行に右からインデントを付けるレベルです。NoIndentRest フラグがセットされているときは無視されます。

すべてのレベルは twips (1 インチ = 1440 twips) で示します。ダイアログボックスを表示して、ユーザーが引数を指定する場合は ModifyStyle を使います。

スタイルを修正に使うタブを変更するときは ModifyBreaks を参照してください。

戻り値

1 (TRUE) 	文字揃えのオプションが設定されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	オプションが設定されなかったとき

例

FUNCTION Example()

NewName = Query$("新規作成するｽﾀｲﾙ名は？", "ﾃｽﾄｽﾀｲﾙ")

BaseName = GetStyleName$()

retcd = CreateStyle(NewName, BaseName, CreateStyle)

ModifySelect(NewName)

ModifyAlignment(AlignLeft, 0, 0, 0, 1, 0)

ModifyBreaks(4, 0, 0)

ModifyEffects("<･17>", SpaceIndent, ".20", 0, 0, 0,108,179,54, 0)

ModifySpacing(2, 0, 0, 0, 100, 1, 1)

ModifyTable(3, 2, ".", ",", "$", (8 + 16 + 128 + 256))

ModifyLines(9, 2, 180, 0, 0, 0, 65535, 1)

ModifyFont("ｺﾞｼｯｸ", (20*20), 255, 1,108,179,54)

SetStyle(NewName)

ModifyReflow()

TYPE("この段落は[Enter]新規作成した[Enter]スタイル {NewName} の[Enter]段落です[Enter]")

SetStyle(BaseName)

END FUNCTION

関連項目

CreateStyle, ModifyBreaks, ModifyEffects, ModifyLines, ModifyReflow, ModifySelect, ModifySpacing, ModifyStyle, ModifyTable


ModifyBreaks

説明

段落スタイルの改頁オプションを変更します。

メニューで <スタイル(S) スタイル修正(M) 改頁/改段(B)> を選ぶことと同じです。

この関数の前に修正するスタイルを定義するために ModifySelect を呼びます。

新しい改頁オプションを選ばれた段落スタイルで有効にするためには ModifyReflow を呼ぶ必要があります。

構文

ModifyBreaks(Options,Style,NumTabs[,Type,Offset])

Options は改頁のオプションを記述するフラグです。次の中から１つまたは組合わせて指定します。

NoBreak (0) - この段落内では改頁不可能。

PageBreakBefore (1) - この段落の前に改頁を置く。

PageBreakAfter (2) - この段落の後に改頁を置く。

BreakWithin (4) - 段落内での改頁が可能。

KeepPrevious (8) - 前の段落と連結

KeepNext (16) - 次の段落と連結

NextStyle (32) - Style で定義したスタイルが次の段落に現われる。

ColBreakBefore (128) - この段落の前に改段を置く。

ColBreakAfter (256) - この段落の後に改段を置く。

４つの改頁/改段オプションの１つは常に選びます。NoBreak、PageBreakAfter、ColBreakAfter が選ばれていると KeepPrevious が選ばれるでしょう。NoBreak、PageBreakBefore、ColBreakBefore が選ばれていると KeepNext が選ばれるでしょう。

Style は次の段落で使う段落スタイルです。この段落スタイルを用いるために NextStyle を設定しておきます。

NumTabs はこのスタイルに設定するタブの数です。各タブに Type と Offset を入力します。

スタイル修正のダイアログボックスでタブを変更するには <文字揃え(G)> を選びます。

Type はタブのタイプです。Offset 引数は各タブ設定します。

TabLeft (1) - 左のタブ

TabCenter (2) - 中央のタブ

TabRight (3) - 右のタブ

TabNumeric (4) - 数値タブ

タブに先行するリーダーを表示するには次の値の中から１つを選び Type に加算します。

TabHyph (16384) - ハイフンを表示

TabDot (32768) - 点を表示

TabLine (49152) - 下線を表示

Offset は左端からのタブの間隔で twips (１インチ = 1440 twips) で指定します。Type 引数はタブ毎に使わなければなりません。

ダイアログボックスを表示して、引数を指定する場合は ModifyStyle を使います。

戻り値

1 (TRUE) 	改頁/改段オプションが設定されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	オプションが設定されなかったとき

例

FUNCTION Example()

NewName = Query$("新規作成するｽﾀｲﾙ名は？", "ﾃｽﾄｽﾀｲﾙ")

BaseName = GetStyleName$()

retcd = CreateStyle(NewName, BaseName, CreateStyle)

ModifySelect(NewName)

ModifyAlignment(AlignLeft, 0, 0, 0, 1, 0)

ModifyBreaks(4, 0, 0)

ModifyEffects("<･17>", SpaceIndent, ".20", 0, 0, 0,108,179,54, 0)

ModifySpacing(2, 0, 0, 0, 100, 1, 1)

ModifyTable(3, 2, ".", ",", "$", (8 + 16 + 128 + 256))

ModifyLines(9, 2, 180, 0, 0, 0, 65535, 1,108,179,54)

ModifyFont("ｺﾞｼｯｸ", (20*20), 255, 1,108,179,54)

SetStyle(NewName)

ModifyReflow()

TYPE("この段落は[Enter]新規作成した[Enter]スタイル {NewName} の[Enter]段落です[Enter]")

SetStyle(BaseName)

END FUNCTION

関連項目

CreateStyle, ModifyAlignment, ModifyEffects, ModifyLines, ModifyReflow, ModifySelect, ModifySpacing, ModifyStyle, ModifyTable


ModifyEffects

説明

段落スタイルの特殊効果を変更します。

メニューで <スタイル(S) スタイル修正(M) 特殊効果(E)> を選ぶことと同じです。

この関数の前に変更するスタイルを選択するために ModifySelect を呼びます。

選択された段落スタイルで新しい効果のオプションを有効にするためには ModifyReflow を呼ぶ必要があります。

構文

ModifyEffects(Text,Spacing,Indent,Attribute,LevelNum,Reset,UnderStyle,ShadeStyle,UnderColor,Units)

Text は段落の先行文字で、指定のスタイルの各段落の前に付く文字、記号、数字を記述します。記号は特殊効果のメニューでテキストボックスに表示されるものの中から選びます。記号は、次のような文字を入力することにより、挿入することができます。

<･1>   小さい黒丸

<･2>   大きい黒丸

<･3>   小さい黒四角形

<･4>   大きい黒四角形

<･5>   大きい白抜き四角形

<･6>   小さい黒菱形

<･7>   大きい黒菱形

<･8>   小さい白抜き丸

<･9>   大きい白抜き丸

<･10>  チェックマーク（ﾚ）

<･11>  黒三角形

<･12>  右下影付きの白抜き四角形

<･13>  左下影付きの白抜き四角形

<･14>  チェックマーク（ﾚ）付き四角形

<･15>  バツマーク付き四角形

<･16>  上半分黒、下半分白の矢じり

<･17>  上半分白、下半分黒の矢じり

番号の前の点（･）は、半角の中点です。

数字は次の文字を入力すると挿入できます。

<#1> - 1 2 3 4 5

<#A> - A B C D E

<#a> - a b c d e

<#I> - I II III IV V

<#i> - i ii iii iv v

Spacing は Text と段落本体のあいだの余白をどのように取るかを示すフラグです。次の中から１つを指定します。

Tabindent (0) - 先行する文字と本体をタブで分ける。

SpaceIndent (1) - Spacing 指定された余白で分ける。

Indent は先行文字と本体の間の余白の量です。SpaceIndent オプションはこの余白が設定されます。

Attribute は先行文字の属性を指定するフラグで次の中から１つを指定します。

NomalAttr (0) - 属性なし

BoldAttr (4) - 太字

ItalicAttr (8) - 斜体字

UnderlineAttr (16) - 下線付きの文字

WordUnderlineAttr (32) - 語下線付きの文字

AllCapsAttr (2048) - 大文字

SuperScript (64) - 上付き文字

ShadeAttr(356) - 網掛け

複数の属性は加算して引数として設定します。

フォントによっては、設定できない属性があること、または下線の複数指定はできないことに注意してください。

LevelNum はアウトラインのレベル番号で 0 から 6 までの数字です。

アウトラインスタイルでないとき、このオプションは 0 に設定します。

Reset は番号をいつリセットするかを決めるフラグで次の中から１つを指定します。

ResetNo (0) - リセットしないか番号付けをしていない。

ResetLesser (2) - 小さい番号レベルの段落スタイルの後

ResetIntervene (4) - 間に入る段落の後

LegalNumbering (8) - 正当な番号付けの段落

UnderStyle は下線の種類と位置を指定します。線種、位置からそれぞれ１つを組み合わせ、加算値で指定します。

線種

0  --  1/2 Point 実線

1  --  1 Point 実線

2  --  2 Point 実線

3  --  ２重線

4  --  1/2 Point 点線

5  --  1 Point 点線

6  --  1/2 Point 破線

7  --  1 Point 破線

8  --  1/2 Point １点鎖線

9  --  1 Point １点鎖線

10 --  1/2 Point ２点鎖線

11 --  1 Point ２点鎖線

12 --  1/2 Point 波線

13 --  1 Point 波線

14 --  1/2 Point ２重波線

15 --  1 Point ２重波線

16 --  太縄目線

17 --  縄目線

18 --  中点線

位置

32 --  上

64 --  下

96 --  囲み

ShadeStyle は網掛けの種類と色を指定します。種類、色からそれぞれ１つを組み合わせ、加算値で指定します。

種類

0  --  塗りつぶし

1  --  10％

2  --  20％

3  --  50％

4  --  75％

5  --  格子

6  --  右上がり斜線

7  --  右下がり斜線

8  --  細かい斜め格子

9  --  右上がり２重斜線

10 --  右下がり２重斜線

11 --  粗い斜め格子

12 --  蜂の巣

13 --  横ブロック

14 --  斜めブロック

15 --  菱形

色

32  --  黒

48  --  灰色

64  --  赤

80  --  青

96  --  緑

112 --  紫

176 --  水色

192 --  黄

UnderColor は下線の色を指定します。

48  --  黒

49  --  灰色

50  --  赤

51  --  青

52  --  緑

53  --  紫

54  --  水色

55  --  黄

Units は <スタイル修正(M) 特殊効果(E)> のダイアログボックスで選択されたインデントのサイズです。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

インデントの大きさは twips (１インチ = 1440 twips) で示します。

ダイアログボックスを表示して、引数を指定する場合は ModifyStyle を使います。

戻り値

1 (TRUE) 	特殊効果オプションが設定されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	オプションが設定されなかったとき

例

FUNCTION Example()

NewName = Query$("新規作成するｽﾀｲﾙ名は？", "ﾃｽﾄｽﾀｲﾙ")

BaseName = GetStyleName$()

retcd = CreateStyle(NewName, BaseName, CreateStyle)

ModifySelect(NewName)

ModifyAlignment(AlignLeft, 0, 0, 0, 1, 0)

ModifyBreaks(4, 0, 0)

ModifyEffects("<･17>", SpaceIndent, ".20", 0, 0, 0,108,179,54, 0)

ModifySpacing(2, 0, 0, 0, 100, 1, 1)

ModifyTable(3, 2, ".", ",", "$", (8 + 16 + 128 + 256))

ModifyLines(9, 2, 180, 0, 0, 0, 65535, 1)

ModifyFont("ｺﾞｼｯｸ", (20*20), 255, 1,108,179,54)

SetStyle(NewName)

ModifyReflow()

TYPE("この段落は[Enter]新規作成した[Enter]スタイル {NewName} の[Enter]段落です[Enter]")

SetStyle(BaseName)

END FUNCTION

関連項目

CreateStyle, ModifyAlignment, ModifyBreaks, ModifyLines, ModifyReflow, ModifySelect, ModifySpacing, ModifyStyle, ModifyTable


ModifyFont

説明

段落スタイルのフォントを修正します。

メニューで <スタイル(S) スタイル修正(M) フォント(F)> を選ぶことと同じです。

メニューコマンドではプリンタで印刷できるフォントからだけ選択できますが、マクロコマンドを使うと、どんなタイプのフォントも選べます。

この関数の前に修正するスタイルを指定するために ModifySelect を呼びます。

指定の段落スタイルで新しいフォントを有効にするには ModifyReflow を呼びます。

構文

ModifyFont(FontName,Size,Color,Options,UnderStyle,ShadeStyle,UnderColor)

FontName は Face メニューで表示されるのと同じフォントの名前です。

Size は twips 単位で示すフォントのサイズです。適当なポイントサイズを見つける式は ポイントサイズ * 20 = twips です。

Color はフォントの色で次の中から１つを指定します。

White (16777215) - 白

Cyan (16776960) - 水色

Yellow (65535) - 黄色

Magenta (16711935) - 赤紫

Green (65280) - 緑

Red (255) - 赤

Blue (16711680) - 青

Black (0) - 黒

Options は属性のオプションを指定するフラグで次の１つあるいは組み合わせです。

NomalAttr (0) - 属性なし

BoldAttr (4) - 太字

ItalicAttr (8) - 斜体字

UnderlineAttr (16) - 下線付きの文字

WordUnderlineAttr (32) - 語下線付きの文字

AllCapsAttr (2048) - 大文字

ShadeAttr (256) - 網掛け

InitialCapsAttr (8192) - 先頭大文字

FirstBoldAttr (32768) - １行目太字

VarPitch (1) - プロポーショナル

Serifs (1024) - セリフ

オプションを組み合わせるときは加算します。すべてのフォントがすべての属性を持つとは限らず、大文字属性と下線属性のように属性もあります。

UnderStyle は下線の種類と位置を指定します。線種、位置からそれぞれ１つを組み合わせ、加算値で指定します。

線種

0  --  1/2 Point 実線

1  --  1 Point 実線

2  --  2 Point 実線

3  --  ２重線

4  --  1/2 Point 点線

5  --  1 Point 点線

6  --  1/2 Point 破線

7  --  1 Point 破線

8  --  1/2 Point １点鎖線

9  --  1 Point １点鎖線

10 --  1/2 Point ２点鎖線

11 --  1 Point ２点鎖線

12 --  1/2 Point 波線

13 --  1 Point 波線

14 --  1/2 Point ２重波線

15 --  1 Point ２重波線

16 --  太縄目線

17 --  縄目線

18 --  中点線

位置

32 --  上

64 --  下

96 --  囲み

ShadeStyle は網掛けの種類と色を指定します。種類、色からそれぞれ１つを組み合わせ、加算値で指定します。

種類

0  --  塗りつぶし

1  --  10％

2  --  20％

3  --  50％

4  --  75％

5  --  格子

6  --  右上がり斜線

7  --  右下がり斜線

8  --  細かい斜め格子

9  --  右上がり２重斜線

10 --  右下がり２重斜線

11 --  粗い斜め格子

12 --  蜂の巣

13 --  横ブロック

14 --  斜めブロック

15 --  菱形

色

32  --  黒

48  --  灰色

64  --  赤

80  --  青

96  --  緑

112 --  紫

176 --  水色

192 --  黄

UnderColor は下線の色を指定します。

48  --  黒

49  --  灰色

50  --  赤

51  --  青

52  --  緑

53  --  紫

54  --  水色

55  --  黄

スタイル修正ダイアログボックスを表示して、引数を指定する場合は ModifyStyle を使います。

戻り値

1 (TRUE) 	オプションが設定されたとき

-2 (GeneralFailure) 	設定できなかったとき

例

FUNCTION Example()

NewName = Query$("新規作成するｽﾀｲﾙ名は？", "ﾃｽﾄｽﾀｲﾙ")

BaseName = GetStyleName$()

retcd = CreateStyle(NewName, BaseName, CreateStyle)

ModifySelect(NewName)

ModifyAlignment(AlignLeft, 0, 0, 0, 1, 0)

ModifyBreaks(4, 0, 0)

ModifyEffects("<･17>", SpaceIndent, ".20", 0, 0, 0,108,179,54, 0)

ModifySpacing(2, 0, 0, 0, 100, 1, 1)

ModifyTable(3, 2, ".", ",", "$", (8 + 16 + 128 + 256))

ModifyLines(9, 2, 180, 0, 0, 0, 65535, 1)

ModifyFont("ｺﾞｼｯｸ", (20*20), 255, 1,108,179,54)

SetStyle(NewName)

ModifyReflow()

TYPE("この段落は[Enter]新規作成した[Enter]スタイル {NewName} の[Enter]段落です[Enter]")

SetStyle(BaseName)

END FUNCTION

関連項目

CreateStyle, ModifyAlignment, ModifyBreaks, ModifyEffects, ModifyLines, ModifyReflow, ModifySelect, ModifySpacing, ModifyStyle, ModifyTable


ModifyLayout

説明

レイアウト修正のメニューを表示して、ユーザーが選択します。

メニューで <ページ(P) ページレイアウト修正(M)> を選ぶことと同じです。

この関数はページレイアウトの自動的な修正はしません。

この関数はレイアウトモードでのみ使えます。

構文

ModifyLayout()

戻り値

1 (TRUE) 	レイアウトが修正されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	修正されなかったとき

例

FUNCTION Example()

ModifyLayout()

END FUNCTION

関連項目

FrameLayout, ModifyStyle, ModLayoutFinish, ModLayoutInit, ModLayoutLeftFooter, ModLayoutLeftHeader, ModLayoutLeftLines, ModLayoutLeftPage, ModLayoutPageSize, ModLayoutRightFooter, ModLayoutRightHeader, ModLayoutRightLines, ModLayoutRightPage


ModifyLines

説明

段落スタイルの線を変更します。

メニューで <スタイル(S) スタイル修正(M) 線種(L)> を選ぶことと同じです。

この関数の前に変更するスタイルを選択するために ModifySelect を呼びます。

選択された段落スタイルで新しい線のオプションを有効にするためには ModifyReflow を呼ぶ必要があります。

構文

ModifyLines(Options,StyleAbove,SpaceAbove,StyleBelow,SpaceBelow,Length,Color,Units)

Options は線オプションを指定するフラグで、次のオプションの中から１つまたは組み合わせて指定します。

Off (0) - 上下とも線なし

LineAbove (1) - 段落の上に線を置く。

LineBelow (2) - 段落の下に線を置く。

LengthOfText (4) - テキストの長さの線

LengthMargins (8) - 縁の長さの線

LengthCustom (16) - Length 指定した長さの線。

StyleAbove と StyleBelow は段落の上下に印刷する線の種類で、次の中から１つを指定します。

Hairline (1) - 極細線

OnePoint (2) - １ポイント線

TwoPoint (3) - ２ポイント線

ThreePoint (4) - ３ポイント線

FourPoint (5) - ４ポイント線

FivePoint (6) - ５ポイント線

SixPoint (7) - ６ポイント線

DoubleOnePoint (8) - １ポイント線２本

DoubleTwoPoint (9) - ２ポイント線２本

ThreeLines (10) - 極細線が２ポイント線の上下に付く３本線

HairBelow (11) - 極細線が３ポイント線の下に付く２本線

HairAbove (12) - 極細線が３ポイント線の上に付く２本線

DotHairline (13) - 極細の点線

DotOnePoint (14) - １ポイントの点線

DotTwoPoint (15) - ２ポイントの点線

DashHairline (16) - 極細の破線

DashOnePoint (17) - １ポイントの破線

DashTwoPoint (18) - ２ポイントの破線

DsdotHairline (19) - 極細の一点破線

DsdotOnePoint (20) - １ポイントの一点破線

DsdotTwoPoint (21) - ２ポイントの一点破線

DsddHairLine (28) - 極細の二点波線

DsddOnePoint (29) - １ポイントの二点波線

DsddTwoPoint (30) - ２ポイントの二点波線

WaveOnePoint (37) - １ポイントの波線

WaveTwoPoint (38) - ２ポイントの波線

DWaveOnePoint (39) - １ポイントの二重波線

DWaveTwoPoint (40) - ２ポイントの二重波線

Slant1 (41) - 太い縄目線

Slant2 (42) - 縄目線

Dots (43) - 中点線

Star (60) - 星のデザインの飾り線

Rope (61) - 縄のデザインの飾り線

Deco1 (62) - アールデコ調の飾り線１

Deco2 (63) - アールデコ調の飾り線２

Circle (64) - 円を型取った飾り線

Memo (90) - メモのデザインの飾り線

Rose (91) - 薔薇のデザインの飾り線

Sunflower (92) - ひまわりのデザインの飾り線

Deco3 (93) - アールデコ調の飾り線３

SpaceAbove はテキストのフォントと上線の間の余白で twips 単位で指定します。ないときは０を使います。

SpaceBelow はテキストのフォントと下線の間の余白で twips で現わします。なければ０を使います。

Length は LengthCustom が指定されているとき twips で示す線の長さです。

Color は線の色で次の中から１つを指定します。

White (16777215) - 白

Cyan (16776960) - 水色

Yellow (65535) - 黄色

Magenta (16711935) - 赤紫

Green (65280) - 緑

Red (255) - 赤

Blue (16711680) - 青

Black (0) - 黒

DarkGray (12566463) - 90％灰色

MediumGray (8355711) - 50％灰色

LightGray (4144959) - 20％灰色

VeryLightGray (1644825) - 10％灰色

Units は <スタイル修正(M) 線種(L)> のダイアログボックスで指定するインデントの単位です。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

インデントの量は twips (１インチ = 1440 twips) で示します。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は ModifyStyle を使います。

戻り値

1 (TRUE) 	線オプションが設定されたとき

-2 (GeneralFailure) 	オプションが設定されなかったとき

例

FUNCTION Example()

NewName = Query$("新規作成するｽﾀｲﾙ名は？", "ﾃｽﾄｽﾀｲﾙ")

BaseName = GetStyleName$()

retcd = CreateStyle(NewName, BaseName, CreateStyle)

ModifySelect(NewName)

ModifyAlignment(AlignLeft, 0, 0, 0, 1, 0)

ModifyBreaks(4, 0, 0)

ModifyEffects("<･17>", SpaceIndent, ".20", 0, 0, 0,108,179,54, 0)

ModifySpacing(2, 0, 0, 0, 100, 1, 1)

ModifyTable(3, 2, ".", ",", "$", (8 + 16 + 128 + 256))

ModifyLines(9, 2, 180, 0, 0, 0, 65535, 1)

ModifyFont("ｺﾞｼｯｸ", (20*20), 255, 1,108,179,54)

SetStyle(NewName)

ModifyReflow()

TYPE("この段落は[Enter]新規作成した[Enter]スタイル {NewName} の[Enter]段落です[Enter]")

SetStyle(BaseName)

END FUNCTION

関連項目

CreateStyle, ModifyAlignment, ModifyBreaks, ModifyEffects, ModifyFont, ModifyReflow, ModifySelect, ModifySpacing, ModifyStyle, ModifyTable


ModifyReflow

説明

段落スタイルを変更する関数を使って実行した変更を段落に適用します。

この関数は段落スタイル変更の関数を使った後、他のテキストを編集する前に呼びます。

メニューで <スタイル(S) スタイル修正(M)> を選ぶことと同じです。

構文

ModifyReflow()

戻り値

1 (TRUE) 	変更した段落スタイルが適用されたとき

-2 (GeneralFailure) 	段落スタイルが適用されなかったとき

例

FUNCTION Example()

NewName = Query$("新規作成するｽﾀｲﾙ名は？", "ﾃｽﾄｽﾀｲﾙ")

BaseName = GetStyleName$()

retcd = CreateStyle(NewName, BaseName, CreateStyle)

ModifySelect(NewName)

ModifyAlignment(AlignLeft, 0, 0, 0, 1, 0)

ModifyBreaks(4, 0, 0)

ModifyEffects("<･17>", SpaceIndent, ".20", 0, 0, 0,108,179,54, 0)

ModifySpacing(2, 0, 0, 0, 100, 1, 1)

ModifyTable(3, 2, ".", ",", "$", (8 + 16 + 128 + 256))

ModifyLines(9, 2, 180, 0, 0, 0, 65535, 1)

ModifyFont("ｺﾞｼｯｸ", (20*20), 255, 1,108,179,54)

SetStyle(NewName)

ModifyReflow()

TYPE("この段落は[Enter]新規作成した[Enter]スタイル {NewName} の[Enter]段落です[Enter]")

SetStyle(BaseName)

END FUNCTION

関連項目

CreateStyle, ModifyAlignment, ModifyBreaks, ModifyEffects, ModifyFont, ModifyLines, ModifySelect, ModifySpacing, ModifyStyle, ModifyTable


ModifySelect

説明

修正する段落スタイルを選びます。他の段落スタイル修正の関数はここで選択した段落スタイルを修正します。

メニューで <スタイル(S) スタイル修正(M) スタイル(Y)> を選ぶことと同じです。

この関数は段落スタイル修正の関数を使う前に呼びます。

構文

ModifySelect(StyleName)

StyleName は存在する段落スタイルの名前です。

ダイアログボックスを表示して、引数を手入力で指定する場合は ModifyStyle を使います。

戻り値

1 (TRUE) 	段落スタイルが選択されたとき

-2 (GeneralFailure) 	選択されなかったとき

例

FUNCTION Example()

NewName = Query$("What do you want to name the new style?", "TestStyle")

BaseName = GetStyleName$()

CreateStyle(NewName, BaseName)

ModifySelect(NewName)

ModifyAlignment(AlignLeft, 0, 0, 0, 0, 0)

ModifyBreaks(4, 0, 0)

ModifyEffects("<ｷ10>", SpaceIndent, ".20", 0, 0, 0,108,179,54, 0)

ModifySpacing(2, 0, 0, 0, 0, 0, 100)

ModifyTable(3, 2, ".", ",", "$", (8 + 16 + 128 + 256))

ModifyLines(9, 2, 180, 0, 0, 0, 65535, 1)

ModifyFont("TimesNewRomanPS", (20 20), 255, 1,108,179,54)

SetStyle(NewName)

ModifyReflow()

TYPE("This[Enter]is what the new[Enter]style looks[Enter]Like...[Enter]")

SetStyle(BaseName)

END FUNCTION

関連項目

CreateStyle, ModifyAlignment, ModifyBreaks, ModifyEffects, ModifyFont, ModifyLines, ModifyReflow, ModifySpacing, ModifyStyle, ModifyTable


ModifySpacing

説明

段落スタイルの間隔を変更します。

メニューで <スタイル(S) スタイル修正(M) 間隔(P)> を選ぶことと同じです。

この関数の前に修正するスタイルを選択するために ModifySelect を呼びます。

選択された段落スタイルで新しい間隔のオプションを有効にするためには ModifyReflow を呼ぶ必要があります。

構文

ModifySpacing(Options,Amount,ParaAbove,ParaBelow,Tightness,SpacingUnits,ParaUnits)

Options は間隔オプションのフラグ引数です。次のオプションの中から１つを指定します。

SingleSpacing (1) - １行間隔

OneOneHalfSpacing (2) - 1.5 行間隔

DoubleSpasing (4) - ２行間隔

CustomSpacing (8) - 指定行間隔

AddAlways (16) - 上部余白を常に取る。

AddNotBreak (32) - 改頁以外のとき上部余白を取る。

Amount は CustomSpacing が選ばれているときに使う行間隔です。

ParaAbove は twips 単位で示す段落の上部余白です。

ParaBelow は twips 単位で示す段落の下部余白です。

Tightness は文字間隔の率で、次の中から１つを指定します。

TightLines (90) - 90％

NormalLines (100) - 100％ (標準)

LooseLines (115) - 115％

SpacingUnits は <スタイル修正(M) 間隔(P)> のダイアログボックスで指定できる行間隔の単位です。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

間隔の量は twips (１インチ = 1440 twips) で示します。

ParaUnits は <スタイル修正(M) 間隔(P)> のダイアログボックスで選ばれる段落の上下余白の単位です。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

余白の量は twips (１インチ = 1440 twips) で示します。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は ModifyStyle を使います。

戻り値

1 (TRUE) 	間隔が設定されたとき

-2 (GeneralFailure) 	設定されなかったとき

例

FUNCTION Example()

NewName = Query$("新規作成するｽﾀｲﾙ名は？", "ﾃｽﾄｽﾀｲﾙ")

BaseName = GetStyleName$()

retcd = CreateStyle(NewName, BaseName, CreateStyle)

ModifySelect(NewName)

ModifyAlignment(AlignLeft, 0, 0, 0, 1, 0)

ModifyBreaks(4, 0, 0)

ModifyEffects("<･17>", SpaceIndent, ".20", 0, 0, 0,108,179,54, 0)

ModifySpacing(2, 0, 0, 0, 100, 1, 1)

ModifyTable(3, 2, ".", ",", "$", (8 + 16 + 128 + 256))

ModifyLines(9, 2, 180, 0, 0, 0, 65535, 1)

ModifyFont("ｺﾞｼｯｸ", (20*20), 255, 1,108,179,54)

SetStyle(NewName)

ModifyReflow()

TYPE("この段落は[Enter]新規作成した[Enter]スタイル {NewName} の[Enter]段落です[Enter]")

SetStyle(BaseName)

END FUNCTION

関連項目

CreateStyle, ModifyAlignment, ModifyBreaks, ModifyEffects, ModifyFont, ModifyLines, ModifyReflow, ModifySelect, ModifyStyle, ModifyTable


ModifyStyle

説明

スタイルを修正するためのダイアログボックスを表示してユーザーが修正する段落スタイルを指定します。

メニューで <スタイル(S) スタイル修正(M)> を選ぶことと同じです。

直接、段落スタイルを修正することはできません。

マクロでメニュー選択を置き換えたりユーザーが段落スタイルの修正ができるように用意されています。

マクロで直接段落スタイルを修正するには、他の段落スタイル修正の関数を使います。

構文

ModifyStyle()

戻り値

1 (TRUE) 	段落スタイルが変更されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	変更できなかったとき

例

FUNCTION Example()

ModifyStyle()

END FUNCTION

関連項目

CreateStyle, GetStyleName$, ModifyAlignment, ModifyBreaks, ModifyEffects, ModifyFont, ModifyLines, ModifyReflow, ModifySelect, ModifySpacing, ModifyTable


ModifyTable

説明

段落スタイルの表形式を変更します。

メニューで <スタイル(S) スタイル修正(M) 表形式(T)> を選ぶことと同じです。

この関数の前に修正するスタイルを選択するために ModifySelect を呼びます。

選択された段落スタイルで新しい表形式のオプションを有効にするために ModifyReflow を呼ばなければなりません。

構文

ModifyTable(CellFormat,Decimals,DecimalPoint,ThousandsSeparator,CurrencySymbol,Options)

CellFormat はセル書式を決めます。次の中から１つを指定します。

GeneralFormat (1) - 必要なときだけ小数点を表示。

FixedFormat (2) - 固定小数点で表示

CurrencyFormat (3) - 通貨記号を表示

PercentFormat (4) - パーセント表示

Decimals は表示する小数の桁数です。DecimalPoint は小数点として使う文字です。

ThousandsSeparator は３桁分離記号に使う文字です。

CurrencySymbol は通貨記号に使う文字です。

Options は表形式オプションのフラグで、次の中から１つを指定します。

ThousandsSep (8) - ３桁分離記号の使用。

３桁分離記号を表示して印刷するときは、ThousandsSeparator オプションを設定します。

LeadingNegative、TrailingNegative、ParenthesesNegative のどれかをマイナスの数字を表示する方法として選びます。

RedNegative オプションは赤でマイナス数字を表示して印刷するために使います。

CurrencyLead や CurrencyTrail オプションは通貨記号の位置を示すのに使います。

LeadingNegative (16) - マイナスの数を示すために前にハイフンを付けます。

TrailingNegative (32) - マイナスの数を示すために後にハイフンを付けます。

ParenthesesNegative (64) - マイナスの数字を示すためにカッコを付けます。

RedNegative (128) - 赤でマイナスの数を表示／印刷します。

CurrencyLead (256) - 通貨記号を数字の頭に付けます。

CurrencyTrail (0) - 通貨記号を数字の後に付けます。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は ModifyStyle を使います。

戻り値

1 (TRUE) 	表オプションが設定されたとき

-2 (GeneralFailure) 	オプションが設定されなかったとき

例

FUNCTION Example()

NewName = Query$("新規作成するｽﾀｲﾙ名は？", "ﾃｽﾄｽﾀｲﾙ")

BaseName = GetStyleName$()

retcd = CreateStyle(NewName, BaseName, CreateStyle)

ModifySelect(NewName)

ModifyAlignment(AlignLeft, 0, 0, 0, 1, 0)

ModifyBreaks(4, 0, 0)

ModifyEffects("<･17>", SpaceIndent, ".20", 0, 0, 0,108,179,54, 0)

ModifySpacing(2, 0, 0, 0, 100, 1, 1)

ModifyTable(3, 2, ".", ",", "$", (8 + 16 + 128 + 256))

ModifyLines(9, 2, 180, 0, 0, 0, 65535, 1)

ModifyFont("ｺﾞｼｯｸ", (20*20), 255, 1,108,179,54)

SetStyle(NewName)

ModifyReflow()

TYPE("この段落は[Enter]新規作成した[Enter]スタイル {NewName} の[Enter]段落です[Enter]")

SetStyle(BaseName)

END FUNCTION

関連項目

CreateStyle, ModifyAlignment, ModifyBreaks, ModifyEffects, ModifyLines, ModifyReflow, ModifySelect, ModifySpacing, ModifyStyle


ModLayoutFinish

説明

ModLayoutInit が実行された後のページレイアウトの変更を引き渡します。

メニューで <ページ(P) ページレイアウト修正(M)> を選んで入力した変更を受け入れるのと同じです。

始めに ModLayoutInit を呼ばずにこの関数を呼ぶことはできません。

構文

ModLayoutFinish()

戻り値

1 (TRUE) 	変更が受け入れられたとき

-2	変更が受け入れられなかったとき

例

FUNCTION Example()

ModLayoutInit(512)

ModLayoutLeftFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftLines(255, 7, 1, 9, 1)

ModLayoutLeftPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutPageSize((11*1440), (8.5*1440), 1, 1)

ModLayoutRightHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightLines(255, 7, 1, 9, 1)

ModLayoutRightPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutFinish()

END FUNCTION

関連項目

ModLayoutInit, ModLayoutLeftFooter, ModLayoutLeftHeader, ModLayoutLeftLines, ModLayoutLeftPage, ModLayoutPageSize, ModLayoutRightFooter, ModLayoutRightHeader, ModLayoutRightLines, ModLayoutRightPage, ModifyLayout


ModLayoutInit

説明

ページレイアウトの変更を受け入れるために Ami Pro を準備します。

メニューで <ページ(P) ページレイアウト修正(M)> を選んで設定された変更を初期化するのと同じです。

この関数はすべての ModPageLayout 関数より先に呼ばなければなりません。

構文

ModLayoutInit(Type)

Type はページ設定の型で次のどちらかを指定します。

0x200(512) = 全ページ。

0x400(1024) = 左右対象。

戻り値

1 (TRUE) 	変更のための初期化が成功したとき

-2 (GeneralFailure) 	初期化が失敗したとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

ModLayoutInit(512)

ModLayoutLeftFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftLines(255, 7, 1, 9, 1)

ModLayoutLeftPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutPageSize((11*1440), (8.5*1440), 1, 1)

ModLayoutRightHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightLines(255, 7, 1, 9, 1)

ModLayoutRightPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutFinish()

END FUNCTION

関連項目

ModLayoutFinish, ModLayoutLeftFooter, ModLayoutLeftHeader, ModLayoutLeftLines, ModLayoutLeftPage, ModLayoutPageSize, ModLayoutRightFooter, ModLayoutRightHeader, ModLayoutRightLines, ModLayoutRightPage, ModifyLayout


ModLayoutLeftFooter

説明

現在のページレイアウトが全ページでなければ左のフッタ情報を変更します。

メニューで <ページ(P) ページレイアウト修正(M) フッタ(F)> を選ぶことと同じです。

この関数は ModLayoutInit を実行した後で呼びます。

変更を実行するために、この関数の後で ModLayoutFinish を呼びます。

構文

ModLayoutLeftFooter(LeftMargin,TopMargin,RightMargin,BottomMargin,Units,FaceFlag,NumCols,Cols,NumTabs,Tabs)

LeftMargin は用紙の左端からの間隔です。

TopMargin は用紙の上端からの間隔です。

RightMargin は用紙の右端からの間隔です。

BottomMargin は用紙の下端からの間隔です。

margin 引数は twips 単位で示し、用紙の縁に取る余白の量を表わします。

Units は単位で次の中から１つを指定します。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

間隔の量は twips ( 1 インチ = 1440 twips) で示します。twips 単位での値を決めるためには、インチの数に 1440 を掛けます。

FaceFlag はオプションの引数で次の値の中から１つまたは組合せて指定します。

1 - バランス

2 - 行間隔

4 - 境界線

NumCols はページ内のカラム数です。

Cols はカラムの左端と右端へのオフセットを現わす数字の組です。

NumTabs はタブのタイプと左端からのオフセットから成るタブの組数です。

Tabs はタイプと左端からのオフセットを表す数字の組です。タブのタイプは次の中から１つを指定します。

TabLeft (1) - 左

TabCenter (2) - 中央

TabRight (3) - 右

TabNumeric (4) - 数値

ビット演算子 OR を使って次の値の中から１つを指定します。

0x4000 - ダッシュのリーダー

0x8000 - 点のリーダー

0xc000 - 下線のリーダー

戻り値

1 (TRUE) 	左のフッタが変更されたとき

-2 (GeneralFailure) 	変更されなかったとき

例

FUNCTION Example()

ModLayoutInit(512)

ModLayoutLeftFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftLines(255, 7, 1, 9, 1)

ModLayoutLeftPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutPageSize((11*1440), (8.5*1440), 1, 1)

ModLayoutRightHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightLines(255, 7, 1, 9, 1)

ModLayoutRightPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutFinish()

END FUNCTION

関連項目

ModLayoutFinish, ModLayoutInit, ModLayoutLeftHeader, ModLayoutLeftLines, ModLayoutLeftPage, ModLayoutPageSize, ModLayoutRightFooter, ModLayoutRightHeader, ModLayoutRightLines, ModLayoutRightPage, ModifyLayout


ModLayoutLeftHeader

説明

現在のページレイアウトが全ページでなければ左のヘッダ情報を変更します。

メニューで <ページ(P) ページレイアウト修正(M) ヘッダ(H)> を選ぶことと同じです。

この関数は ModLayoutInit を実行した後で呼びます。

変更を受け入れるために、この関数の後で ModLayoutFinish を呼びます。

構文

ModLayoutLeftHeader(LeftMargin,TopMargin,RightMargin,BottomMargin,Units,FaceFlag,NumCols,Cols,NumTabs,Tabs)

LeftMargin は用紙の左端からの間隔

TopMargin は用紙の上端からの間隔

RightMargin は用紙の右端からの間隔

BottomMargin は用紙の下端からの間隔

margin 引数は twips 単位で示し、用紙の縁に取る余白の量を表わします。

Units は測定のタイプで次の中から１つを指定します。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

インデントの量は twips ( 1 インチ = 1440 twips) で示します。

twips 単位での値を決めるために希望するインチの数に 1440 を掛けます。

FaceFlag はオプションの引数で次の中から１つまたは組合せて指定します。

1 - バランス

2 - 行間隔

4 - 境界線

NumCols はページ内の列数

Cols はカラムの左端と右端へのオフセットの組です。

NumTabs はタブのタイプと左端からのオフセットから成るタブの組です。

Tabs はタイプと左端からのオフセットの組です。タブのタイプは次の中から１つを指定します。

TabLeft (1) - 左

TabCenter (2) - 中央

TabRight (3) - 右

TabNumeric (4) - 数値

ビット演算子 OR を使って次の中から１つを指定します。

0x4000 - ダッシュのリーダー

0x8000 - 点のリーダー

0xc000 - 下線のリーダー

戻り値

1 (TRUE) 	左のヘッダが変更されたとき

-2 (GeneralFailure) 	変更されなかったとき

例

FUNCTION Example()

ModLayoutInit(512)

ModLayoutLeftFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftLines(255, 7, 1, 9, 1)

ModLayoutLeftPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutPageSize((11*1440), (8.5*1440), 1, 1)

ModLayoutRightHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightLines(255, 7, 1, 9, 1)

ModLayoutRightPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutFinish()

END FUNCTION

関連項目

ModLayoutFinish, ModLayoutInit, ModLayoutLeftFooter, ModLayoutLeftLines, ModLayoutLeftPage, ModLayoutPageSize, ModLayoutRightFooter, ModLayoutRightHeader, ModLayoutRightLines, ModLayoutRightPage, ModifyLayout


ModLayoutLeftLines

説明

現在のページレイアウト設定が全ページでなければ左ページのページ枠の設定を変更します。

メニューで <ページ(P) ページレイアウト修正(M) ページ枠(L)> を選ぶことと同じです。

この関数は ModLayoutInit を実行した後で呼びます。

変更を受け入れるために、この関数の後で ModLayoutFinish を呼びます。

構文

ModLayoutLeftLines(GutterShade,GutterStyle,BorderSides,BorderStyle,BorderSpace)

GutterShade は線の色で次の中から１つを指定します。

White (16777215) - 白

Cyan (16776960) - 水色

Yellow (65535) - 黄色

Magenta (16711935) - 赤紫

Green (65280) - 緑

Red (255) - 赤

Blue (16711680) - 青

Black (0) - 黒

DarkGray (12566463) - 90％灰色

MediumGray (8355711) - 50％灰色

LightGray (4144959) - 20％灰色

VeryLightGray (1644825) - 10％灰色

GutterStyle は線の幅で次の中から指定します。

Hairline (1) - 極細線の幅

OnePoint (2) - １ポイント幅

TwoPoint (3) - ２ポイント幅

ThreePoint (4) - ３ポイント幅

FourPoint (5) - ４ポイント幅

FivePoint (6) - ５ポイント幅

SixPoint (7) - ６ポイント幅

DoubleOnePoint (8) - １ポイント幅の線２本

DoubleTwoPoint (9) - ２ポイント幅の線２本

ThreeLines (10) - 極細線が２ポイント線の上下に付く３本線

HairBelow (11) - 極細線が３ポイント線の下に付く２本線

HairAbove (12) - 極細線が３ポイント線の上に付く２本線

DotHairline (13) - 極細の点線

DotOnePoint (14) - １ポイントの点線

DotTwoPoint (15) - ２ポイントの点線

DashHairline (16) - 極細の破線

DashOnePoint (17) - １ポイントの破線

DashTwoPoint (18) - ２ポイントの破線

DsdotHairline (19) - 極細の一点破線

DsdotOnePoint (20) - １ポイントの一点破線

DsdotTwoPoint (21) - ２ポイントの一点破線

DsddHairLine (28) - 極細の二点波線

DsddOnePoint (29) - １ポイントの二点波線

DsddTwoPoint (30) - ２ポイントの二点波線

WaveOnePoint (37) - １ポイントの波線

WaveTwoPoint (38) - ２ポイントの波線

DWaveOnePoint (39) - １ポイントの二重波線

DWaveTwoPoint (40) - ２ポイントの二重波線

Slant1 (41) - 太い縄目線

Slant2 (42) - 縄目線

Dots (43) - 中点線

Star (60) - 星のデザインの飾り線

Rope (61) - 縄のデザインの飾り線

Deco1 (62) - アールデコ調の飾り線１

Deco2 (63) - アールデコ調の飾り線２

Circle (64) - 円を型取った飾り線

Memo (90) - メモのデザインの飾り線

Rose (91) - 薔薇のデザインの飾り線

Sunflower (92) - ひまわりのデザインの飾り線

Deco3 (93) - アールデコ調の飾り線３

BorderSides は次の中から１つを指定します。

1 - 全部あるいは組み合わせ

2 - 左

4 - 右

8 - 上

16 - 下

左、右、上、下を組み合わせるときは一緒に加算します。

BorderStyle は境界線の幅と種類で、次の中から１つを指定します。

1 - 1.5ポイント幅

2 - １ポイント幅

3 - ２ポイント幅

4 - ４ポイント幅

5 - ６ポイント幅

6 - ８ポイント幅

7 - 12ポイント幅

8 - １ポイント線を２本

9 - ２ポイント線を２本

10 - １ポイント線、２ポイント線、１ポイント線の３本

11 - １ポイント線の上に２ポイント線

12 - ２ポイント線の上に１ポイント線

13 - 極細の点線

14 - １ポイントの点線

15 - ２ポイントの点線

16 - 極細の破線

17 - １ポイントの破線

18 - ２ポイントの破線

19 - 極細の一点破線

20 - １ポイントの一点破線

21 - ２ポイントの一点破線

28 - 極細の二点波線

29 - １ポイントの二点波線

30 - ２ポイントの二点波線

37 - １ポイントの波線

38 - ２ポイントの波線

39 - １ポイントの二重波線

40 - ２ポイントの二重波線

41 - 太い縄目線

42 - 縄目線

43 - 中点線

60 - 星のデザインの飾り線

61 - 縄のデザインの飾り線

62 - アールデコ調の飾り線１

63 - アールデコ調の飾り線２

64 - 円を型取った飾り線

90 - メモのデザインの飾り線

91 - 薔薇のデザインの飾り線

92 - ひまわりのデザインの飾り線

93 - アールデコ調の飾り線３

BorderSpace は次の値を持つ境界線の位置です。

1 - 中央

2 - 内側

3 - 外側

4 - 内側寄り

5 - 外側寄り

戻り値

1 (TRUE) 	左ページのページ枠の設定が変更されたとき

-2 (GeneralFailure) 	変更されなかったとき

例

FUNCTION Example()

ModLayoutInit(512)

ModLayoutLeftFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftLines(255, 7, 1, 9, 1)

ModLayoutLeftPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutPageSize((11*1440), (8.5*1440), 1, 1)

ModLayoutRightHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightLines(255, 7, 1, 9, 1)

ModLayoutRightPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutFinish()

END FUNCTION

関連項目

ModLayoutFinish, ModLayoutInit, ModLayoutLeftFooter, ModLayoutLeftHeader, ModLayoutLeftPage, ModLayoutPageSize, ModLayoutRightFooter, ModLayoutRightHeader, ModLayoutRightLines, ModLayoutRightPage, ModifyLayout


ModLayoutLeftPage

説明

現在のページ設定が全ページでなければ現在のページレイアウトの左頁の情報を変更します。

メニューで <ページ(P) ページレイアウト修正(M) 左ページ(L)> を選ぶことと同じです。

この関数は ModLayoutInit を実行した後で呼びます。

変更を受け入れるために、この関数の後で ModLayoutFinish を呼びます。

構文

ModLayoutLeftPage(LeftMargin,TopMargin,RightMargin,BottomMargin,Units,FaceFlag,NumCols,Cols,NumTabs,Tabs)

LeftMargin は用紙の左端からの間隔です。

TopMargin は用紙の上端からの間隔です。

RightMargin は用紙の右端からの間隔です。

BottomMargin は用紙の下端からの間隔です。

margin 引数は twips 単位で示し、用紙の縁に取る余白の量を表わします。

Units は測定のタイプで次の中から１つを指定します。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

インデントの量は twips ( 1 インチ = 1440 twips) で示します。

twips 単位の値を設定するにはインチの数に 1440 を掛けます。

FaceFlag はオプションの引数で次の値の中から１つまたは組み合わせて指定します。

1 - バランス

2 - 行間隔

4 - 境界線

NumCols はページ内のカラム数です。

Cols はカラムの左端と右端へのオフセットの組です。

NumTabs はタブのタイプと左端からのオフセットから成る Tabs の組数です。

Tabs はタイプと左端からのオフセットの組です。タブのタイプは次の中から１つを指定します。

TabLeft (1) - 左

TabCenter (2) - 中央

TabRight (3) - 右

TabNumeric (4) - 数値

ビット演算子 OR を使って次の値の中から１つを指定します。

0x4000 - ダッシュのリーダー

0x8000 - 点のリーダー

0xc000 - 下線のリーダー

戻り値

1 (TRUE) 	左頁の情報が変更されたとき

-2 (GeneralFailure) 	左頁の情報が変更されなかったとき

例

FUNCTION Example()

ModLayoutInit(512)

ModLayoutLeftFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftLines(255, 7, 1, 9, 1)

ModLayoutLeftPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutPageSize((11*1440), (8.5*1440), 1, 1)

ModLayoutRightHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightLines(255, 7, 1, 9, 1)

ModLayoutRightPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutFinish()

END FUNCTION

関連項目

ModLayoutFinish, ModLayoutInit, ModLayoutLeftFooter, ModLayoutLeftHeader, ModLayoutLeftLines, ModLayoutPageSize, ModLayoutRightFooter, ModLayoutRightHeader, ModLayoutRightLines, ModLayoutRightPage, ModifyLayout


ModLayoutPageSize

説明

現在のページレイアウトのページサイズ情報を変更します。

メニューで <ページ(P) ページレイアウト修正(M) ページ設定(P)> を選ぶことと同じです。

この関数は ModLayoutInit を実行した後で呼びます。

変更を受け入れるために、この関数の後で ModLayoutFinish を呼びます。

構文

ModLayoutPageSize(Length,Width,Units,Papertype)

Length は用紙サイズが指定のとき twips 単位で示すページの長さです。

Width は用紙サイズが指定のとき twips 単位で示すページの幅です。

Units は測定のタイプで次の中から１つを指定します。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

インデントの量は twips (１インチ = 1440 twips) で示します。twips 単位の値を設定するにはインチの数に 1440 を掛けます。

PaperType は定義済の用紙タイプで次の中から１つを指定します。

1   レター

2   B4

3   A3

4   A4

5   A5

6   B5

7   指定

8   はがき

戻り値

1 (TRUE) 	ページサイズの情報が変更されたとき

-2 (GeneralFailure) 	ページサイズの情報が変更されなかったとき

例

FUNCTION Example()

ModLayoutInit(512)

ModLayoutLeftFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftLines(255, 7, 1, 9, 1)

ModLayoutLeftPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutPageSize((11*1440), (8.5*1440), 1, 1)

ModLayoutRightHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightLines(255, 7, 1, 9, 1)

ModLayoutRightPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutFinish()

END FUNCTION

関連項目

ModLayoutFinish, ModLayoutInit, ModLayoutLeftFooter, ModLayoutLeftHeader, ModLayoutLeftLines, ModLayoutLeftPage, ModLayoutRightFooter, ModLayoutRightHeader, ModLayoutRightLines, ModLayoutRightPage, ModifyLayout


ModLayoutRightFooter

説明

現在のページ設定が全ページでなければ右のフッタ情報を全ページならば全ページのフッタ情報を変更します。

メニューで <ページ(P) ページレイアウト修正(M) フッタ(F)> を選ぶことと同じです。

この関数は ModLayoutInit を実行した後で呼びます。

変更を受け入れるために、この関数の後で ModLayoutFinish を呼びます。

構文

ModLayoutRightFooter(LeftMargin,TopMargin,RightMargin,BottomMargin,Units,FaceFlag,NumCols,Cols,NumTabs,Tabs)

LeftMargin は用紙の左端からの間隔です。

TopMargin は用紙の上端からの間隔です。

RightMargin は用紙の右端からの間隔です。

BottomMargin は用紙の下端からの間隔です。margin 引数は twips 単位で示し、用紙の縁に取る余白の量を表わします。

Units は測定のタイプで次の中から１つを指定します。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

インデントの量は twips ( 1 インチ = 1440 twips) で示します。twips 単位の値を設定するにはインチの数に 1440 を掛けます。

FaceFlag はオプションの引数で次の値の中から１つまたは組み合わせて指定します。

1 - バランス

2 - 行間隔

4 - 境界線

NumCols はページ内のカラム数です。

Cols はカラムの左端と右端へのオフセットを現わす数字の組です。

NumTabs はタブのタイプと左端からのオフセットから成る Tabs の組数です。

Tabs はタイプと左端からのオフセットを表す数字の組です。タブのタイプは次の中から１つを指定します。

TabLeft (1) - 左

TabCenter (2) - 中央

TabRight (3) - 右

TabNumeric (4) - 数値

ビット演算子 OR を使って次の値の中から１つを指定します。

0x4000 - ダッシュのリーダー

0x8000 - 点のリーダー

0xc000 - 下線のリーダー

戻り値

1 (TRUE) 	右のフッタが変更されたとき

-2 (GeneralFailure) 	右のフッタが変更されなかったとき

例

FUNCTION Example()

ModLayoutInit(512)

ModLayoutLeftFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftLines(255, 7, 1, 9, 1)

ModLayoutLeftPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutPageSize((11*1440), (8.5*1440), 1, 1)

ModLayoutRightHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightLines(255, 7, 1, 9, 1)

ModLayoutRightPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutFinish()

END FUNCTION

関連項目

ModLayoutFinish, ModLayoutInit, ModLayoutLeftFooter, ModLayoutLeftHeader, ModLayoutLeftLines, ModLayoutLeftPage, ModLayoutPageSize, ModLayoutRightHeader, ModLayoutRightLines, ModLayoutRightPage, ModifyLayout


ModLayoutRightHeader

説明

現在のページ設定が全ページでなければ右のヘッダ情報を、全ページならば全ページのヘッダ情報を変更します。

メニューで <ページ(P) ページレイアウト修正(M) ヘッダ(H)> を選ぶことと同じです。

この関数は ModLayoutInit を実行した後で呼びます。

変更を受け入れるために、この関数の後で ModLayoutFinish を呼びます。

構文

ModLayoutRightHeader(LeftMargin,TopMargin,RightMargin,BottomMargin,Units,FaceFlag,NumCols,Cols,NumTabs,Tabs)

LeftMargin は用紙の左端からの間隔です。

TopMargin は用紙の上端からの間隔です。

RightMargin は用紙の右端からの間隔です。

BottomMargin は用紙の下端からの間隔です。margin 引数は twips 単位で示し、用紙の縁に取る余白の量を表わします。

Units は測定のタイプで次の中から１つを指定します。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

インデントの量は twips ( 1 インチ = 1440 twips) で示します。twips 単位の値を設定するには希望するインチの数に 1440 を掛けます。

FaceFlag はオプションの引数で次の値の中から１つまたは組み合わせて指定します。

1 - バランス

2 - 行間隔

4 - 境界線

NumCols はページ内のカラム数です。

Cols はカラムの左端と右端へのオフセットを現わす数字の組です。

NumTabs はタブのタイプと左端からのオフセットから成る Tabs の組数です。

Tabs はタイプと左端からのオフセットを表す数字の組です。タブのタイプは次の中から１つを指定します。

TabLeft (1) - 左

TabCenter (2) - 中央

TabRight (3) - 右

TabNumeric (4) - 数値

ビット演算子 OR を使って次の値の中から１つを指定します。

0x4000 - ダッシュのリーダー

0x8000 - 点のリーダー

0xc000 - 下線のリーダー

戻り値

1 (TRUE) 	右のヘッダが変更されたとき

-2 (GeneralFailure) 	右のヘッダが変更されなかったとき

例

FUNCTION Example()

ModLayoutInit(512)

ModLayoutLeftFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftLines(255, 7, 1, 9, 1)

ModLayoutLeftPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutPageSize((11*1440), (8.5*1440), 1, 1)

ModLayoutRightHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightLines(255, 7, 1, 9, 1)

ModLayoutRightPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutFinish()

END FUNCTION

関連項目

ModLayoutFinish, ModLayoutInit, ModLayoutLeftFooter, ModLayoutLeftHeader, ModLayoutLeftLines, ModLayoutLeftPage, ModLayoutPageSize, ModLayoutRightFooter, ModLayoutRightLines, ModLayoutRightPage, ModifyLayout


ModLayoutRightLines

説明

現在のページレイアウト設定が全ページでなければ右ページのページ枠の設定を変更し、全ページならば全ページのページ枠の設定を変更します。

メニューで <ページ(P) ページレイアウト修正(M) ページ枠(L)> を選ぶことと同じです。

この関数は ModLayoutInit を実行した後で呼びます。

変更を受け入れるために、この関数の後で ModLayoutFinish を呼びます。

構文

ModLayoutRightLines(GutterShade,GutterStyle,BorderSides,BorderStyle,BorderSpace)

GutterShade は線の色で次の中から１つを指定します。

White (16777215) - 白

Cyan (16776960) - 水色

Yellow (65535) - 黄色

Magenta (16711935) - 赤紫

Green (65280) - 緑

Red (255) - 赤

Blue (16711680) - 青

Black (0) - 黒

DarkGray (12566463) - 90％灰色

MediumGray (8355711) - 50％灰色

LightGray (4144959) - 20％灰色

VeryLightGray (1644825) - 10％灰色

GutterStyle は線の幅で次の中から指定します。

Hairline (1) - 極細線の幅

OnePoint (2) - １ポイント幅

TwoPoint (3) - ２ポイント幅

ThreePoint (4) - ３ポイント幅

FourPoint (5) - ４ポイント幅

FivePoint (6) - ５ポイント幅

SixPoint (7) - ６ポイント幅

DoubleOnePoint (8) - １ポイント幅の線２本

DoubleTwoPoint (9) - ２ポイント幅の線２本

ThreeLines (10) - 極細線が２ポイント線の上下に付く３本線

HairBelow (11) - 極細線が３ポイント線の下に付く２本線

HairAbove (12) - 極細線が３ポイント線の上に付く２本線

DotHairline (13) - 極細の点線

DotOnePoint (14) - １ポイントの点線

DotTwoPoint (15) - ２ポイントの点線

DashHairline (16) - 極細の破線

DashOnePoint (17) - １ポイントの破線

DashTwoPoint (18) - ２ポイントの破線

DsdotHairline (19) - 極細の一点破線

DsdotOnePoint (20) - １ポイントの一点破線

DsdotTwoPoint (21) - ２ポイントの一点破線

DsddHairLine (28) - 極細の二点波線

DsddOnePoint (29) - １ポイントの二点波線

DsddTwoPoint (30) - ２ポイントの二点波線

WaveOnePoint (37) - １ポイントの波線

WaveTwoPoint (38) - ２ポイントの波線

DWaveOnePoint (39) - １ポイントの二重波線

DWaveTwoPoint (40) - ２ポイントの二重波線

Slant1 (41) - 太い縄目線

Slant2 (42) - 縄目線

Dots (43) - 中点線

Star (60) - 星のデザインの飾り線

Rope (61) - 縄のデザインの飾り線

Deco1 (62) - アールデコ調の飾り線１

Deco2 (63) - アールデコ調の飾り線２

Circle (64) - 円を型取った飾り線

Memo (90) - メモのデザインの飾り線

Rose (91) - 薔薇のデザインの飾り線

Sunflower (92) - ひまわりのデザインの飾り線

Deco3 (93) - アールデコ調の飾り線３

BorderSides は次の中から１つを指定します。

1 - 全部あるいは組み合わせ

2 - 左

4 - 右

8 - 上

16 - 下

左、右、上、下を組み合わせるときは一緒に加算します。

BorderStyle は境界線の幅と種類で、次の中から１つを指定します。

1 - 1.5ポイント幅

2 - １ポイント幅

3 - ２ポイント幅

4 - ４ポイント幅

5 - ６ポイント幅

6 - ８ポイント幅

7 - 12ポイント幅

8 - １ポイント線を２本

9 - ２ポイント線を２本

10 - １ポイント線、２ポイント線、１ポイント線の３本

11 - １ポイント線の上に２ポイント線

12 - ２ポイント線の上に１ポイント線

13 - 極細の点線

14 - １ポイントの点線

15 - ２ポイントの点線

16 - 極細の破線

17 - １ポイントの破線

18 - ２ポイントの破線

19 - 極細の一点破線

20 - １ポイントの一点破線

21 - ２ポイントの一点破線

28 - 極細の二点波線

29 - １ポイントの二点波線

30 - ２ポイントの二点波線

37 - １ポイントの波線

38 - ２ポイントの波線

39 - １ポイントの二重波線

40 - ２ポイントの二重波線

41 - 太い縄目線

42 - 縄目線

43 - 中点線

60 - 星のデザインの飾り線

61 - 縄のデザインの飾り線

62 - アールデコ調の飾り線１

63 - アールデコ調の飾り線２

64 - 円を型取った飾り線

90 - メモのデザインの飾り線

91 - 薔薇のデザインの飾り線

92 - ひまわりのデザインの飾り線

93 - アールデコ調の飾り線３

BorderSpace は次の値を持つ境界線の位置です。

1 - 中央

2 - 内側

3 - 外側

4 - 内側寄り

5 - 外側寄り

戻り値

1 (TRUE) 	右ページのページ枠の設定が変更されたとき

-2 (GeneralFailure) 	右ページのページ枠の設定が変更されなかったとき

例

FUNCTION Example()

ModLayoutInit(512)

ModLayoutLeftFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftLines(255, 7, 1, 9, 1)

ModLayoutLeftPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutPageSize((11*1440), (8.5*1440), 1, 1)

ModLayoutRightHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightLines(255, 7, 1, 9, 1)

ModLayoutRightPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutFinish()

END FUNCTION

関連項目

ModLayoutFinish, ModLayoutInit, ModLayoutLeftFooter, ModLayoutLeftHeader, ModLayoutLeftLines, ModLayoutLeftPage, ModLayoutPageSize, ModLayoutRightFooter, ModLayoutRightHeader, ModLayoutRightPage, ModifyLayout


ModLayoutRightPage

説明

現在のページ設定が全ページでなければ現在のページレイアウトの右ページの情報を、全ページならば全ページの情報を変更します。

メニューで <ページ(P) ページレイアウト修正(M) 右(R)> を選ぶことと同じです。

この関数は ModLayoutInit を実行した後で呼びます。

変更を受け入れるために、この関数の後で ModLayoutFinish を呼びます。

構文

ModLayoutRightPage(LeftMargin,TopMargin,RightMargin,BottomMargin,Units,FaceFlag,NumCols,Cols,NumTabs,Tabs)

LeftMargin は用紙の左端からの間隔です。

TopMargin は用紙の上端からの間隔です。

RightMargin は用紙の右端からの間隔です。

BottomMargin は用紙の下端からの間隔です。margin 引数は twips 単位で示し、用紙の縁に取る余白の量を表わします。

Units は測定のタイプで次の中から１つを指定します。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

インデントの量は twips ( 1 インチ = 1440 twips) で示します。twips 単位の値を設定するにはインチの数に 1440 を掛けます。

FaceFlag はオプションの引数で次の値の中から１つまたは組み合わせて指定します。

1 - バランス

2 - 行間隔

4 - 境界線

NumCols はページ内のカラム数です。

Cols はカラムの左端と右端へのオフセットを現わす数字の組です。

NumTabs はタブのタイプと左端からのオフセットから成る Tabs の組数です。

Tabs はタイプと左端からのオフセットを表す数字の組です。タブのタイプは次の中から１つを指定します。

TabLeft (1) - 左

TabCenter (2) - 中央

TabRight (3) - 右

TabNumeric (4) - 数値

ビット演算子 OR を使って次の値の中から１つを指定します。

0x4000 - ダッシュのリーダー

0x8000 - 点のリーダー

0xc000 - 下線のリーダー

戻り値

1 (TRUE) 	右頁の情報が変更されたとき

-2 (GeneralFailure) 	右頁の情報が変更されなかったとき

例

FUNCTION Example()

ModLayoutInit(512)

ModLayoutLeftFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutLeftLines(255, 7, 1, 9, 1)

ModLayoutLeftPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutPageSize((11*1440), (8.5*1440), 1, 1)

ModLayoutRightHeader(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightFooter(1440, 180, 1440, 720, 1, 1, 1, 0, 1, 0)

ModLayoutRightLines(255, 7, 1, 9, 1)

ModLayoutRightPage(1440, 1440, 1440, 1440, 1, 1, 1, 0, 1, 0)

ModLayoutFinish()

END FUNCTION

関連項目

ModLayoutFinish, ModLayoutInit, ModLayoutLeftFooter, ModLayoutLeftHeader, ModLayoutLeftLines, ModLayoutLeftPage, ModLayoutPageSize, ModLayoutRightFooter, ModLayoutRightHeader, ModLayoutRightLines, ModifyLayout


MultiDecide

説明

指定のプロンプト、アイコン、コマンドボタンで Windows メッセージボックスを表示します。

ユーザーがコマンドボタンを選択するのを待ち、ユーザーが押したボタンの ID を返します。

構文

MultDecide(Prompt,Type[, Title])

Prompt はガイド文字列で、最大 80文字までです。

Type はユーザーに提供されるコマンドボタンとダイアログボックスに表示するアイコンを定義する数で、次のボタンタイプの中から１つとアイコンタイプの中から１つを加算したものです。

選択できるボタンは

OKButton (0) - 了解ボタン

OKCancelButton (1) - 了解／取消ボタン

AbortIgnoreRetryButton (2) - 失敗／無視／再試行

YesNoCancelButton (3) - はい／いいえ／取消ボタン

YesNoButton (4) - はい／いいえボタン

RetryCancelButton (5) - 再試行／取消ボタン

選択できるアイコンは

HandIcon (16) - 手

QuestionIcon (32) - 疑問符

ExclamationIcon (48) - 感嘆符

AsteriskIcon (64) - アスタリスク

Title はマクロのメッセージボックスにタイトルを付けられます。既定値は”Ami Proマクロ”です。

戻り値

押されたボタンを表す数

OK(1) - 了解

Cancel(2) - 取消

Abort(3) - 失敗

Retry(4) - 再試行

Ignore(5) - 無視

Yes(6) - はい

No(7) - いいえ

例

FUNCTION Example()

Answer = MultiDecide("ｶﾚﾝﾄ文書を閉じますか?", (4 + 32),"ｻﾝﾌﾟﾙﾏｸﾛ")

IF Answer = 6

FileChanged(1, 0)

FileClose()

ENDIF

END FUNCTION

関連項目

Decide, DialogBox, Message, Query$, UserControl


New

説明

<ファイル(F) 新規作成(N)> のダイアログボックスを選ぶことと同じです。

構文

New(Style,WithContents,Options)

Style は新規ファイルで使うスタイルシートの名前です。

WithContents は新規ファイルが段落スタイルシートの内容で生成されるかどうか、次のどちらかで指定します。

NoContents (0) - 段落スタイルシートの内容を持ってこない

WithContents (1) - 段落スタイルシートの内容を持ってくる

Options は新規ファイルを MDI ウィンドウに置くのかまたは現在編集中の文書と置き換えるのかを、次の中から指定します。

OpenWindow (0) - 新規ファイルのために別のウィンドウをオープン

ReplaceCurrent (128) - 編集中の文書を新しい文書と置き換える

ReplaceCurrent オプションを使うとき、すでに文書がオープンされている場合は、新規ファイルは選択されたウィンドウで編集中の文書と置き換わります。

このオプションを設定するとそれ以降にオープンされるどのファイルにもこのオプションが設定されます。

ダイアログボックスを表示して引数を指定する場合は NEW を使います。

戻り値

1 (TRUE) 	新ファイルが生成されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	ファイルが生成されなかったとき

例

FUNCTION Example()

New("~MACRO.STY", 1, 0)

END FUNCTION

関連項目

FileOpen, GetOpenFileName$


NewWindow

説明

メニューで <ウィンドウ(W) 新規ウィンドウ作成(N)> を選ぶことと同じです。

アクティブなウィンドウと同じ名前の新しいウィンドウが作られます。

現在のウィンドウに Ami Pro ファイルが残っていると、新しいウィンドウには呼び出しのみが可能なそのファイルの複写が作られます。

構文

NewWindow()

戻り値

1 (TRUE) 	新しいウィンドウが作成されたとき

-2 (GeneralFailure) 	新しいウィンドウが作成されなかったとき

例

FUNCTION Example()

Text = UCASE$(Left$(Query$("What action to take (Tile, Cascade, New, Select) on MDI Windows?"), 1))

SWITCH Text

CASE "T"

TileWindow()

CASE "C"

CascadeWindow()

CASE "N"

NewWindow()

CASE "S"

SelectWindow(Query$("Name of window to select (Name must match EXACTLY)?"))

default

Message("Only the proposed options are available.")

ENDSWITCH

END FUNCTION

関連項目

CascadeWindow, NextWindow, TileWindow, SelectWindow


NextWindow

説明

次のウィンドウに進めます。

[CTRL]+[TAB] を押すのと同じです。

構文

NextWindow()

戻り値

なし

例

FUNCTION Example()

NextWindow()

END FUNCTION

関連項目

CascadeWindow, NewWindow, TileWindow, SelectWindow


NoHyphenation

説明

選択されたテキストのハイフネーション禁止属性をオンまたはオフにするトグルです。

メニューで <編集(E) マーク(M) ハイフネーション禁止(N)> を選ぶことと同じです。

構文

NoHyphenation()

戻り値

1 (TRUE) 	ハイフネーションの属性が変わったとき

-2 (GeneralFailure) 	ハイフネーションの属性が変わらなかったとき

例

FUNCTION Example()

NoHyphenation()

END FUNCTION

関連項目

ProtectedText


NormalText

説明

入力された文字あるいは選択した文字から属性を削除します。

メニューで <文字(T) 標準(N)> を選ぶことと同じです。

構文

NormalText()

戻り値

1 (TRUE) 	属性が文字から削除されたとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

String = "文字属性を変更したテキストの表示例です。  ABC  abc  12345  ｶﾀｶﾅ[Enter]"

NormalText()

TYPE("標準  ...[Enter]{String}")

BOLD()

TYPE("太字  ...[Enter]{String}")

BOLD()

Italic()

TYPE("斜体  ...[Enter]{String}")

Italic()

Underline()

TYPE("下線  ...[Enter]{String}")

Underline()

WordUnderline()

TYPE("単語下線  ...[Enter]{String}")

WordUnderline()

Bold()

Underline()

Italic()

TYPE("太字,  下線,  斜体  ...[Enter]{String}")

NormalText()

TYPE("標準  ...[Enter]{String}")

END FUNCTION

関連項目

Bold, Italic, Underline, WordUnderline


Notes

説明

現在の挿入点でメモをオープンし、内容を入力できる状態にします。

メニューで <編集(E) 挿入(I) メモ(N)> を選ぶことと同じです。

この関数は自動的にメモの挿入や削除はしません。

メモのためにユーザーの頭文字や既定の色を設定するときは UserSetup 関数を参照してください。

構文

Notes()

戻り値

1 (TRUE) 	この関数が完了したとき

-2 (GeneralFailure) 	この関数が完了しなかったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

Notes()

END FUNCTION

関連項目

InsertNote, UserSetUp


Now

説明

現在の日付と時間を 1970年１月１日からの秒に換算します。

構文

Now()

戻り値

1970年１月１日の真夜中から経過した秒数

例

FUNCTION Example()

Born = Query$("What is your Birthday (MM/DD/YYYY)?")

Date = FormatDate$(Now(), "h")

Time = FormatTime$(Now(), 6)

Days = DateDiff(Born, Date)

TextDate = FormatDate$(Now(), "d")

Message("It is now {Time} on {TextDate}. You are {Days} days old.")

END FUNCTION

関連項目

InsertDate, FormatDate$, FormatTime$, GetTime


OnKey

説明

Ami Pro 関数やマクロ名を指定するときにはショートカットキーを設定します。一般に指定されたキー入力に設定されるショートカットキーは新しい関数やマクロに再割り当てされます。

最初の状態にキー入力を再割り当てするには２番目と３番目の引数を空 ("") にします。メニューで <ツール(L) マクロ(M) 編集(E)> を選んでショートカットキーボックスでキーを入力するのと同じです。

Ami Pro 関数の周りにカッコを付けてはいけません。

構文

OnKey(Key,AmiProFunction,MacroName)

Key はショートカットキーとして使うキー入力で、角カッコで囲います。

AmiProFunction はこのキー入力が実行する Ami Pro 関数です。マクロが実行されるときはこの引数は空文字列 ("") です。

MacroName は実行されるマクロの名前です。

Ami Pro 関数が実行されるときこの引数は空文字列 ("") です。

この関数を中止するときは OnKey(Key,0,"""") です。

戻り値

1 (TRUE) 	ショートカットキーが割り当てられたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	ショートカットキーが割り当てられなかったとき

例

FUNCTION Example()

retcd = OnKey([ctrlshiftS], SaveAs, 0)

IF retcd = 1

Message("ショートカットキーの割り付けが完了しました。別名保存：「Cntl」+「Shift」+ S")

ELSE

Message("ショートカットキーの割り付けに失敗しました。")

ENDIF

END FUNCTION

関連項目

ChangeShortcutKey


OutlineLevels

説明

表示されたアウトラインレベルの番号を変更します。

レベル設定の番号は文書を印刷するとき印刷されるレベルの番号です。

アウトラインモードのときアウトラインレベルの番号に対するアイコンをクリックすることと同じです。

この関数はアウトラインモードで使います。

構文

OutlineLevels(Levels)

Levels はアウトラインレベルの番号です。

戻り値

1

例

FUNCTION Example()

Levels=Query$("Levels?")

OutlineLevels(Levels)

END FUNCTION

関連項目

OutlineMode


OutlineMode

説明

ドラフトモードまたはレイアウトモードからアウトラインモードに変更します。

構文

OutlineMode()

戻り値

1 (TRUE) 	表示モードが変更されたとき

0 (NoAction) 	すでに指定のモードになっていたとき

例

FUNCTION Example()

IF GetMode() != 48

OutlineMode()

ENDIF

END FUNCTION

関連項目

DraftMode, LayoutMode, EnlargedView, FacingView, FullPageView, GetMode, GetViewLevel, StandardView


OutlineStyle

説明

アウトラインスタイルを決めます。

メニューで <スタイル(S) アウトラインスタイル(O)> を選ぶことと同じです。

構文

OutlineStyle(Count[,Style,Level,Options,BulletText])

Count はスタイルを割り当てるレベルの数です。残りの引数は Count によります。任意引数のすべての設定が Count 引数で指定したレベルの数だけ必要です。

Style はスタイルを割り当てる段落です。

Level はスタイルが割り当てられるアウトラインレベルです。

Options は各アウトラインレベルの解除オプションです。次の中から１つを指定します。

2 = <上位レベル後(A)>と同じ

4 = <他スタイル後(T)>と同じ

8 = <多重連番(U)>と同じ

上位レベル後のリセットと他スタイル後のリセットは一緒に使えません。しかし、多重連番は他の値と結合できます。

BulletText は段落の前に付ける記号で、この段落スタイルを使うとき各段落の前に置く文字、記号、数字を指定します。

文字は特殊効果のメニューでテキストボックスに表れるのと同じものを入力します。

<･1>   小さい黒丸

<･2>   大きい黒丸

<･3>   小さい黒四角形

<･4>   大きい黒四角形

<･5>   大きい白抜き四角形

<･6>   小さい黒菱形

<･7>   大きい黒菱形

<･8>   小さい白抜き丸

<･9>   大きい白抜き丸

<･10>  チェックマーク（ﾚ）

<･11>  黒三角形

<･12>  右下影付きの白抜き四角形

<･13>  左下影付きの白抜き四角形

<･14>  チェックマーク（ﾚ）付き四角形

<･15>  バツマーク付き四角形

<･16>  上半分黒、下半分白の矢じり

<･17>  上半分白、下半分黒の矢じり

番号の前の点（･）は、半角の中点です。

数字は次の文字を入力すると挿入できます。

<#1>	1,2,3.....

<#2>	(1),(2),(3).....

<#A>	A,B,C .....

<#a>	a,b,c .....

<#B>	(A),(B),(C) .....

<#b>	(a),(b),(c) .....

<#I>	I,II,III .....

<#i>	i,ii,iii .....

<#J>	(I),(II),(III) .....

<#j>	(i),(ii),(iii) .....

<#K>	(一),(二),(三).....

<#k>	一,二,三.....

戻り値

1 (TRUE) 	アウトラインスタイルが生成されたとき

0 (UserCancel) 	中止したとき

例

FUNCTION Example()

OutLineStyle(1, "表題", 1, 4, "<･17>")

END FUNCTION

関連項目

ModifyStyle


PageBreak

説明

挿入点に改頁を挿入するか消去します。

メニューで <ページ(P) 改頁/改段(B)> を選ぶことと同じです。

構文

PageBreak(Function)

Function は要求する関数の機能です。Function 引数は改頁関数をどのように使うかを次の中から指定します。

InsBreak (1) - 改頁挿入

DelBreak (2) - 改頁削除

CenterBreak (3) - 縦方向中央配置

IndColBreak (4) - 改段挿入

DelColBreak (5) - 改段削除

ダイアログボックスを表示して、引数を指定する場合は PageBreak を使います。

戻り値

1 (TRUE) 	改頁が挿入または削除されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	改頁が挿入または削除されなかったとき

例

FUNCTION Example()

PageBreak(1)

END FUNCTION

関連項目

InsertLayout


PageDown

説明

挿入点を１ページ下に移動します。

状態行上のページダウンアイコンをクリックすることと同じです。

構文

PageDown()

戻り値

1

例

FUNCTION Example()

PageDown()

END FUNCTION

関連項目

PageUp, Type


PageNumber

説明

メニューで <ページ(P) ページ番号(P)> を選ぶことと同じです。

構文

PageNumber(Text,StartOn,StartNum,Style)

Text はページ番号の前置文字です。前置文字を使わないときは、この引数は空文字列 ("") です。

StartOn は番号付けを開始するページの番号です。

StartNum は最初に番号を付けるページに使う番号です。

Style は番号に使う数字のスタイルで次の中から１つを指定します。

1	1,2,3.....

2	(1),(2),(3).....

A	A,B,C .....

a	a,b,c .....

B	(A),(B),(C) .....

b	(a),(b),(c) .....

I	I,II,III .....

i	i,ii,iii .....

J	(I),(II),(III) .....

j	(i),(ii),(iii) .....

K	(一),(二),(三).....

k	一,二,三.....

ダイアログボックスを表示して、ユーザーが引数を指定する場合は PageNumber を使います。

戻り値

1 (TRUE) 	ページ番号が挿入されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	番号が挿入されなかったとき

例

FUNCTION Example()

PageNumber("Page", 1, 1, 1)

END FUNCTION

関連項目

LineNumber


PageUp

説明

挿入点を１ページ上に移動します。

状態行上のページアップアイコンをクリックすることと同じです。

構文

PageUp()

戻り値

1

例

FUNCTION Example()

PageUp()

END FUNCTION

関連項目

PageDown, Type


Paste

説明

挿入点にクリップボードの内容を貼り付けます。

メニューで <編集(E) 貼り付け(P)> を選ぶことと同じです。

構文

Paste()

戻り値

0 以外 	テキストが貼り付けられたとき

テキストが貼り付けられなかったか、またはクリップボードが空で貼り付けるテキストがなかった場合にはエラーメッセージが表示されます。

例

FUNCTION Example()

Stuff = Query$("Enter what you want put on the clipboard:")

ClipboardWrite(Stuff, 1)

CALL Example2()

END FUNCTION

FUNCTION Example2()

Paste()

TYPE("[Enter]Should look exactly like the line below:[Enter]")

TYPE(ClipboardRead(1))

END FUNCTION

関連項目

Copy, Cut, CurChar$, CurWord$, CurShade$


Pause

説明

マクロを続行する前に一定時間止めます。

構文

Pause(Time)

Time は停止する時間で 10秒単位です。

戻り値

なし

例

FUNCTION Example()

TYPE("Hello...")

PAUSE(030)

TYPE("There!")

END FUNCTION

関連項目

DarkMode, Hourglass, RunLater, GetTime


PhysicalToLogical

説明

グループ文書で物理的なページ番号で与えられているものを論理的なページ番号に戻します。

構文

PhysicalToLogical(PhysicalPageNo)

PhysicalPageNo はファイルが見せるためにオープンされたとき表れるページ番号です。

戻り値

グループ文書で実際に印刷される論理的なページ番号

0 (UserCancel) 	中止したとき

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

Count = GetBookmarkCount()

IF Count > 0

    DIM Bookmarks(Count)

    GetBookmarkNames(&Bookmarks)

    DeleteMenu(1, "&Bookmarks")

    AddMenu(1, "&Bookmarks")

    FOR I = 1 to Count

        ThisBookmark = Bookmarks(I)

        AddMenuItem(1, "&Bookmarks", ThisBookmark, "{MacFile}!Example2({ThisBookmark})", ThisBookmark)

    NEXT

ELSE

    Message("No bookmarks in this document!")

ENDIF

END FUNCTION

FUNCTION Example2(Bkmk)

MarkBookmark(Bkmk, FindBookmark)

PhysicalPage = GetBookmarkPage(Bkmk)

LogicalPage = PhysicalToLogical(GetBookmarkPage(Bkmk))

Message("{Bkmk} is on physical page {PhysicalPage} and logical page {LogicalPage}.")

END FUNCTION

関連項目

GetBookMarkPage


PrintOptions

説明

印刷と差し込みを使うための印刷オプションを設定します。

メニューで <ファイル(F) 印刷(P) オプション(O)> を指定するのと同じです。印刷や差し込みの前にこの関数を使わないときは、文書印刷の既定のオプションが使われます。

構文

PrintOptions(Flag,FirstBin,RestBin)

Flag は他の印刷オプションの値を定義する数で次の中から１つまたは組み合わせて指定します。

PrintAll(1) - 文書の全ページを印刷

Reverse(2) - 逆順に文書を印刷

Collate(4) - 繰り返し出力

CropMarks(16) - クロップマークを付けて印刷

PrtDocInfo(32) - 文書情報付きで印刷

PrePrinted(64) - 指定帳票に印刷。保護テキストは印刷できません。

PrintUpdateFields (128) - 変数更新

PrintNote (256) - メモ付きで印刷

PrintEven (512) - 偶数ページだけ印刷

PrintOdd (1024) - 奇数ページだけ印刷

PrintBoth (1536) - 偶数ページ、奇数ページ両方を印刷

PrintNoPictures (2048) - 図形印刷抑止図形を印刷するときはこの値を使ってはいけません

複数のオプションを指定するには各々の値を加算します。

FirstBin は文書の先頭ページで使う給紙方法を表す数です。

RestBin は文書の残りページに使う給紙方法を表す数です。

差し込みのダイアログボックスを表示して、差し込みの引数をユーザーが指定する場合は Merge を使います。

印刷のダイアログボックスを表示して印刷のオプションをユーザーが指定する場合は Print を使います。

戻り値

1 (TRUE) 	印刷オプションが設定されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	印刷オプションが設定されなかったとき

例

FUNCTION Example()

PrintSetup("PostScript Printer")

PrintOptions(1537, 1, 1)

END FUNCTION

関連項目

FilePrint, Merge, MergeToFile


PrintSetup

説明

画面上の文書に対応する新しいプリンタを選択します。

メニューで <ファイル(F) プリンタ設定(T)> を選ぶことと同じです。

構文

PrintSetup(Printer,Port)

Printer はこの文書に使うプリンタの名前です。

Port はプリンタに接続する Port の名前です。

ダイアログボックスを表示してユーザーが指定する場合は PrintSetup を使います。

戻り値

1 (TRUE) 	指定されたプリンタが文書にうまく選択されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	プリンタ名が正しくなかったとき

例

FUNCTION Example()

PrintSetup("Canon LBP-B406D LIPS3","LPT2:")

END FUNCTION

関連項目

ControlPanel, FilePrint


ProtectCells

説明

選択された表のセルの保護を変更するトグルです。

メニューで <表(B) 保護(P)> を選ぶことと同じです。

この関数は表モードで使えます。

構文

ProtectCells()

戻り値

1 (TRUE) 	セルの保護がかけられるかはずされたとき

-2 (GeneralFailure) 	セルの保護が変わらないか、または表モード出なかったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

ProtectCells()

END FUNCTION

関連項目

TableLayout, TableLayout, Tables, SizeColumnRow, TableLines


ProtectedText

説明

選択された文字の保護のトグルです。

メニューで <編集(E) マーク(M) ブロック化(P)> を選ぶことと同じです。

構文

ProtectedText()

戻り値

1 (TRUE) 	文字のブロック化がされたとき

-2 (GeneralFailure) 	文字のブロック化が変わらなかったとき

例

FUNCTION Example()

WHILE "" = CurShade$()

UserControl("Shade the text you want to modify...")

WEND

ProtectedText()

END FUNCTION

関連項目

ConnectCells, ProtectCells


Query
Query$

説明

指定したガイド文字列を表示するメッセージボックスのウィンドウと、ユーザーがマクロに返す文字列データを入力するテキストボックスを表示します。

構文

Query$(Prompt[,DefaultText])

Prompt はガイドとして表示する文字列です。80文字まで指定できます。

DefaultText は既定値としてテキストボックスに表示する任意の引数です。

戻り値

ユーザーが入力した文字列

ユーザーが何も入力しなかったときは空文字列 ("")

ユーザーが「了解」の代わりに「取消」を選んだとき、マクロは ONCANCEL ルーチンが定義されていればそれを実行します。

例

FUNCTION Example()

DEFSTR x, y, x2, y2;'Pre-define the variables to be used

AppGetWindowPos("プログラム マネージャ", &x, &y, &x2, &y2)

'Get Program Manager's current (restored) position

AppRestore("プログラム マネージャ")'Restore Program Manager

x = Query$("New X pos of upper-left corner (in twips)?", x)

'Get horizontal starting point

y = Query$("New Y pos of upper-left corner (in twips)?", y)

'Get vertical starting point

x2 = Query$("New width of window (in % of Screen Size)?", x2)

'Get window width

y2 = Query$("New height of window (in % of Screen Size)?", y2)

'Get window height

AppMove("プログラム マネージャ", x, y)'Move to the new position

AppSize("プログラム マネージャ", x2, y2)'Size the window accordingly

END FUNCTION

関連項目

Decide, DialogBox, Message, MultiDecide, UserControl


QuickAddCol

説明

列の合計をとり、現在のセルに結果を置きます。

メニューで <表(B) 加算(A) 列(C)> を選ぶことと同じです。

構文

QuickAddCol()

戻り値

1 (TRUE) 	列が加算されたとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

New("標準.sty" , 1 , 0)

Tables(1, 1, 5, 5)

Type("[Right]Ａ[Right]Ｂ[Right]Ｃ[Right]Ｔｏｔａｌ[Right]ａ[Right]123[Right]141[Right]134[Right]")

QuickAddRow

Type("[Right]ｂ[Right]214[Right]220[Right]207[Right]")

QuickAddRow

Type("[Right]ｃ[Right]155[Right]171[Right]160[Right]")

QuickAddRow

Type("[Right]Ｔｏｔａｌ[Right]")

QuickAddCol

Type("[Right]")

QuickAddCol

Type("[Right]")

QuickAddCol

Type("[Right]")

QuickAddCol

END FUNCTION

関連項目

QuickAddRow, EditFormula


QuickAddRow

説明

行の合計をとり、現在のセルに結果を置きます。

メニューで <表(B) 加算(A) 行(R)> を選ぶことと同じです。

構文

QuickAddRow()

戻り値

1 (TRUE) 	行が加算されたとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

New("標準.sty" , 1 , 0)

Tables(1, 1, 5, 5)

Type("[Right]Ａ[Right]Ｂ[Right]Ｃ[Right]Ｔｏｔａｌ[Right]ａ[Right]123[Right]141[Right]134[Right]")

QuickAddRow

Type("[Right]ｂ[Right]214[Right]220[Right]207[Right]")

QuickAddRow

Type("[Right]ｃ[Right]155[Right]171[Right]160[Right]")

QuickAddRow

Type("[Right]Ｔｏｔａｌ[Right]")

QuickAddCol

Type("[Right]")

QuickAddCol

Type("[Right]")

QuickAddCol

Type("[Right]")

QuickAddCol

END FUNCTION

関連項目

QuickAddCol, QuickAddRow, EditFormula


ReadMail

説明

受け取ったメッセージを表示します。状態行のメールボタン(挿入/上書/修正 ボタンの左)をクリックすることと同じです 。

メールサーバーが活動中の場合、受け取ったメールを表示できるようにします。

この関数はメールサーバーが、Ami Pro がインストールされているコンピュータと互換性があるときのみ有効です。

構文

ReadMail()

戻り値

1 (TRUE) 	メールサーバーがメールを表示するために活動中のとき

0 (NoAction) 	メールサーバーが活動中ではないか、またはメールがないとき

例

FUNCTION Example()

ReadMail()

END FUNCTION

関連項目

SendMail


RecClose

説明

RecOpen によってオープンされたレコードファイルをクローズします。

構文

RecClose(Handle)

Handle は RecOpen によって返されたファイル ID ハンドルです。

戻り値

1 (TRUE) 	レコードファイルがクローズされたとき

-2 (GeneralFailure) 	レコードファイルがクローズできなかったとき

例

FUNCTION Example()

DEFSTR fname

fname = Query$("ﾃﾞｰﾀﾌｧｲﾙ名を入力してください")

Handle = RecOpen(fname, "")

IF Handle = 0

Message("RecOpen Error. {fname}")

EXIT FUNCTION

ENDIF

NumFields = RecFieldCount(Handle)

TYPE("１ﾚｺｰﾄﾞ中に {NumFields} ﾌｨｰﾙﾄﾞあります[enter]")

FOR I = 1 to NumFields

TYPE(RecFieldName$(Handle, I))

NEXT

WHILE RecNextRec(Handle) = 0

FOR I = 1 to NumFields

TYPE(RecGetField(Handle, RecFieldName$(Handle, I ) ))

NEXT

WEND

RecClose(Handle)

END FUNCTION

関連項目

RecFieldCount, RecGetField, RecNextRec, RecOpen, RecFieldName$


RecFieldCount

説明

指定したレコードファイルの項目数を返します。

構文

RecFieldCount(Handle)

Handle は RecOpen から返されたファイル ID ハンドルです。

戻り値

レコードファイルの項目数

-2 (GeneralFailure) 	項目数が定義できなかったとき

例

FUNCTION Example()

DEFSTR fname

fname = Query$("ﾃﾞｰﾀﾌｧｲﾙ名を入力してください")

Handle = RecOpen(fname, "")

IF Handle = 0

Message("RecOpen Error. {fname}")

EXIT FUNCTION

ENDIF

NumFields = RecFieldCount(Handle)

TYPE("１ﾚｺｰﾄﾞ中に {NumFields} ﾌｨｰﾙﾄﾞあります[enter]")

FOR I = 1 to NumFields

TYPE(RecFieldName$(Handle, I))

NEXT

WHILE RecNextRec(Handle) = 0

FOR I = 1 to NumFields

TYPE(RecGetField(Handle, RecFieldName$(Handle, I ) ))

NEXT

WEND

RecClose(Handle)

END FUNCTION

関連項目

RecClose, RecGetField, RecNextRec, RecOpen, RecFieldName$


RecFieldName
RecFieldName$

説明

指定した項目番号の項目名を返します。

構文

RecFieldName$(Handle,Field_Number)

Handle は RecOpen から返されたファイル ID ハンドルです。

Field_Number はレコードファイルにある項目名の段落から引き出す項目名の番号です。

戻り値

要求した項目名の文字列

-2 (GeneralFailure) 	項目名が引き出せないとき

例

FUNCTION Example()

DEFSTR fname

fname = Query$("ﾃﾞｰﾀﾌｧｲﾙ名を入力してください")

Handle = RecOpen(fname, "")

IF Handle = 0

Message("RecOpen Error. {fname}")

EXIT FUNCTION

ENDIF

NumFields = RecFieldCount(Handle)

TYPE("１ﾚｺｰﾄﾞ中に {NumFields} ﾌｨｰﾙﾄﾞあります[enter]")

FOR I = 1 to NumFields

TYPE(RecFieldName$(Handle, I))

NEXT

WHILE RecNextRec(Handle) = 0

FOR I = 1 to NumFields

TYPE(RecGetField(Handle, RecFieldName$(Handle, I ) ))

NEXT

WEND

RecClose(Handle)

END FUNCTION

関連項目

RecClose, RecFieldCount, RecGetField, RecNextRec, RecOpen


RecGetField

説明

現在のレコードの指定した項目の内容を引き出します。

構文

RecGetField(Handle,Field_Number)

Handle は RecOpen から返されたファイル ID ハンドルです。

Field_Number はカレントレコードから引き出したい項目の番号です。

戻り値

指定した項目の内容

-2 (GeneralFailure) 	内容が引き出せなかったとき

例

FUNCTION Example()

DEFSTR fname

fname = Query$("ﾃﾞｰﾀﾌｧｲﾙ名を入力してください")

Handle = RecOpen(fname, "")

IF Handle = 0

Message("RecOpen Error. {fname}")

EXIT FUNCTION

ENDIF

NumFields = RecFieldCount(Handle)

TYPE("１ﾚｺｰﾄﾞ中に {NumFields} ﾌｨｰﾙﾄﾞあります[enter]")

FOR I = 1 to NumFields

TYPE(RecFieldName$(Handle, I))

NEXT

WHILE RecNextRec(Handle) = 0

FOR I = 1 to NumFields

TYPE(RecGetField(Handle, RecFieldName$(Handle, I ) ))

NEXT

WEND

RecClose(Handle)

END FUNCTION

関連項目

RecClose, RecFieldCount, RecNextRec, RecOpen, RecFieldName$


RecNextRec

説明

指定したレコードファイルの中でレコードポインタを次のレコードに進めます。

構文

RecNextRec(Handle)

Handle は RecOpen から返されたファイル ID ハンドルです。

戻り値

0	動作が成功したとき

-1	ファイルの終わりだったとき

例

FUNCTION Example()

DEFSTR fname

fname = Query$("ﾃﾞｰﾀﾌｧｲﾙ名を入力してください")

Handle = RecOpen(fname, "")

IF Handle = 0

Message("RecOpen Error. {fname}")

EXIT FUNCTION

ENDIF

NumFields = RecFieldCount(Handle)

TYPE("１ﾚｺｰﾄﾞ中に {NumFields} ﾌｨｰﾙﾄﾞあります[enter]")

FOR I = 1 to NumFields

TYPE(RecFieldName$(Handle, I))

NEXT

WHILE RecNextRec(Handle) = 0

FOR I = 1 to NumFields

TYPE(RecGetField(Handle, RecFieldName$(Handle, I ) ))

NEXT

WEND

RecClose(Handle)

END FUNCTION

関連項目

RecClose, RecFieldCount, RecGetField, RecOpen, RecFieldName$


RecOpen

説明

既存のレコードファイルをオープンします。

構文

RecOpen(Filename[,説明_file][,Options])

Filename はオープンするデータファイルの名前です。

説明_file は任意の説明ファイルです。この引数はデータファイルが Ami Pro ファイルでないとき使います。

Options はフィルタタイプです。

戻り値

レコードがオープンされたときは正の数

0 (FALSE) 	レコードがオープンされなかったとき

例

FUNCTION Example()

DEFSTR fname

fname = Query$("ﾃﾞｰﾀﾌｧｲﾙ名を入力してください")

Handle = RecOpen(fname, "")

IF Handle = 0

Message("RecOpen Error. {fname}")

EXIT FUNCTION

ENDIF

NumFields = RecFieldCount(Handle)

TYPE("１ﾚｺｰﾄﾞ中に {NumFields} ﾌｨｰﾙﾄﾞあります[enter]")

FOR I = 1 to NumFields

TYPE(RecFieldName$(Handle, I))

NEXT

WHILE RecNextRec(Handle) = 0

FOR I = 1 to NumFields

TYPE(RecGetField(Handle, RecFieldName$(Handle, I ) ))

NEXT

WEND

RecClose(Handle)

END FUNCTION

関連項目

RecClose, RecFieldCount, RecGetField, RecNextRec, RecFieldName$


RemoveLayout

説明

カレントページのページレイアウトを削除します。

メニューで <ページ(P) ページレイアウト挿入(I) 削除(R)> を選んだのと同じです。

前ページのページレイアウトがカレントページで有効になります。先頭ページのページレイアウトを削除したときは既定のページレイアウトが有効になります。

この関数はレイアウトモードで使えます。

構文

RemoveLayout()

戻り値

1 (TRUE) 	ページレイアウトが削除されたとき

-2 	ページレイアウトが削除されなかったとき

0 (NoAction) 	何も起こらなかったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

IF Decide("This will remove the current page layout. Continue?")

    RemoveLayout()

ENDIF

END FUNCTION

関連項目

InsertLayout, RevertLayout


RenameDocInfoField

説明

ユーザーが定義した８つの文書情報のフィールド名を変更します。

メニューで <ファイル(F) 文書情報(D) フィールド名変更(R)> を選んでから <フィールド名変更(R)> を選ぶことと同じです。

構文

RenameDocInfoField(FieldNum,FieldName)

FieldNum は名前を変更したいフィールドの番号です。

FieldName はフィールドの新しい名前です。

ダイアログボックスを表示して引数を指定する場合は DocInfo を使います。

戻り値

1 (TRUE) 	新しいフィールド名に変更されたとき

-2 (GeneralFailure) 	名前が変更されなかったとき

例

FUNCTION Example()

FieldNum = Query$("What field do you want to rename?")

FieldName = Query$("What do you want to rename field #{FieldNum} to?")

RenameDocInfoField(FieldNum, FieldName)

END FUNCTION

関連項目

DocInfo, InsertDocInfo


RenameMenuItem

説明

既存のメニュー項目を新しい名前にします。

この関数はメニュー項目の機能は変更せずに新しい名前に変更するだけです。

新しい名前は次にユーザーがプルダウンメニューを表示するときに表示されます。

構文

RenameMenuItem(BarID,MenuName[,CascadeMenuName],OldName,NewName)

BarID は AddBar から返されたメニューバーの識別番号です。

既定の Ami Pro メニューバーを使うときは１を指定します。

MenuName は名前変更したい項目を含むプルダウンメニューの名前です。これはメニュー名のどこかにアンパサント「&」文字を含むプルダウンメニューの名前と一致していなければなりません。

OldName はメニュー項目の現在の名前です。

NewName はメニュー項目の新しい名前です。

戻り値

1 (TRUE) 	項目が正しく名前変更されたとき

0 (FALSE) 	項目が見つからなかったとき

例

FUNCTION Example()

RenameMenuItem(1, "ファイル(\036F\037ﾌ)", "終了(\036X\037ｼ)",

ToMenuBinary$("終わり(\036Q\037ｵ)"))

END FUNCTION

関連項目

AddBar, AddMenu, AddMenuItem, AddMenuItemDDE, ChangeMenuAction, CheckMenuItem, DeleteMenu, DeleteMenuItem, GrayMenuItem, ShowBar


Replace

説明

文書の文字や段落スタイルを検索して任意に置換します。

メニューで <編集(E) 検索/置換(R)> を選ぶことと同じです。

マクロが見つかった熟語や段落スタイルのすべてを置換する場合、ユーザーが検索と置換を始めて全部置換のコマンドを発したかのような動作をします。

全部置換フラグが使われていないとき、はじめに現われる目的の熟語を見つけるとマクロを続けます。この時置換はしません。

置換は相互作用ではありません。相互作用する検索と置換を望むなら、FindReplace を使いましょう。

構文

Replace(SourceAttr,DestAttr,Flag,FindString,ReplaceString)

SourceAttr は元の文字列の属性の組み合わせで、次の中から指定します。

NormalAttr (0) - 標準

BoldText (4) - 太字

ItalicText (8) - 斜体

UnderlineText (16) - 下線

WordUnderlineText (32) - 語下線

SmallCaps ( - 32768) - 小さな大文字

複数の属性は各値をに加算して指定します。

DestAttr は目的の文字列の属性の組み合わせで、次の中から指定します。

NormalAttr (0) - 標準

BoldText (4) - 太字

ItalicText (8) - 斜体

UnderlineText (16) - 下線

WordUnderlineText (32) - 語下線

SmallCaps ( - 32768) - 小さな大文字

複数の属性は各値を加算して指定します。

Flag は検索/置換のオプションを定義するフラグで、次の中から指定します。

FindExact(1) - 検索文字列に入力されたのと同じ大文字使用で文字だけ検索。

FindStyles (2) - 文字の代わりに段落スタイルを検索/置換

FindWholeWord (4) - 単語全体のみ検索

FindBackwards (8) - 文書の終わりから検索

ReplaceExact(16) - 置換文字列に指定された大文字使用を使って置換。

ReplaceExactAttr(32) - 検索より指定された属性を使って置換。

FindExactAttr(64) - 記述されたのと同じ属性で文字のみ検索。

ReplaceAll(1024) - 確認のために止まることなく見つかったすべてを置換。

FindFromPage1(8192) - 文書の１ページから検索を開始。

FindCurrentStream(16384) - 現在の文字列だけ検索。他の文字列で検索するオプションをやめるこのオプションを設定することは、オプションを有効にする他のフラグとは違います。

複数のオプションは値を加算することによって指定できます。

FindString は検索する文字列や段落スタイルです。

ReplaceString はこれで置換する文字列や段落スタイル名です。ReplaceAll フラグが使われていないときは、この引数は無視されます。

ダイアログボックスを表示して、引数を手入力で指定する場合は FindReplace を使います。

戻り値

 1 (TRUE) 	検索/置換の機能が成功したとき

-7 (ファイル終了) 	ファイルの終わりを発見したか一致するものが見つからなかったとき

グローバルな置換はいつもファイルの終わりまで到達するので ReplaceAll オプションを指定したときはいつも -7 が戻ります。

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

IF CurShade$() = ""

    FindReplace()

ELSE

    Replace(0, 0, 0, CurWord$(), "")

ENDIF

END FUNCTION

関連項目

FindReplace, GoToCmd, GoToShade


Restore

説明

Ami Pro ウィンドウを全画面になる前のサイズに復元します。Windows のコントロールメニューボタンを押して <復元(R)> を選ぶことと同じです。

構文

Restore()

戻り値

なし

例

FUNCTION Example()

Restore()

END FUNCTION

関連項目

Maximize, Minimize


Revert

説明

保存した後に行った変更を取り消して、前に保存した文書を表示します。

メニューで <ファイル(F) 編集破棄(R)> を選ぶことと同じです。

通常ユーザーは破棄を取り消す機会を与えられます。マクロでこのメッセージを無効にしたいときは、この関数を使う前に Messages を使います。

構文

Revert()

戻り値

1 (TRUE) 	ファイルが前の版に復帰したとき

-2 (GeneralFailure) 	ファイルが復帰しなかったとき

例

FUNCTION Example()

Revert()

END FUNCTION

関連項目

Messages, Save, SaveAs


RevertLayout

説明

現在のページのレイアウトを元のページレイアウトに戻します。

メニューで <ページ(P) ページレイアウト挿入(I) 破棄(R)> を選ぶことと同じです。

構文

RevertLayout()

戻り値

1 (TRUE) 	ページレイアウトが戻ったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

RevertLayout()

END FUNCTION

関連項目

InsertLayout, RemoveLayout


ReviewRevisions

説明

修正記録の確認を開始します。

メニューで <ツール(L) 修正記録(V) 修正確認(V)> を選ぶことと同じです。

修正が見つかったときは修正確認のダイアログボックスを表示してユーザーに修正を受け入れるか取り消すかを確認します。

この関数は自動的に修正を受け入れたり取り消したりはしません。

構文

ReviewRevisions()

戻り値

1 (TRUE) 	モードが変更されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	モードが変更できなかったとき

例

FUNCTION Example()

ReviewRevisions()

END FUNCTION

関連項目

RevisionMarking, RevisionMarkOpts


RevisionInsertion

説明

修正記録として選択した文字を記録します。

メニューで <編集(E) マーク(M) 修正記録(R)> を選ぶことと同じです。この関数を呼ぶ前に文字を選択します。

構文

RevisionInsertion()

戻り値

1 (TRUE) 	修正が受け入れられたとき

0 (NoAction) 	何も起こらなかったとき

例

FUNCTION Example()

WHILE "" = CurShade$()

UserControl ("修正記録を付加したい箇所を選択してください")

WEND

RevisionInsertion()

END FUNCTION

関連項目

RevisionMarking, ReviewRevisions


RevisionMarking

説明

修正記録をオンまたはオフにして、作成する修正記録の機能を設定します。

メニューで <ツール(L) 修正記録(V)> を選ぶことと同じです。

構文

RevisionMarking(What,State)

What は作成機能を指定します。次の中から１つを指定します。

MarkRevisions (1) - 修正状態だけを変更

ReviewRevisions (2) - 文書の始めから修正記録をたどる

AcceptRevisions (3) - 文書のすべての修正を受け入れる

CancelRevisions (4) - 文書のすべての修正を取り消す

State は修正記録が有効かどうかを設定するフラグで、次のどちらかを指定します。

RevOn(1) - 修正記録をオンにする

RevOff(0) - 修正記録をオフにする

ダイアログボックスを表示して、ユーザーが引数を指定する場合は RevisionMarking を使います。

戻り値

1 (TRUE) 	変更が受け入れられたとき

0 (UserCancel/FALSE) 	中止したかあるいは何も起こらなかったとき

例

FUNCTION Example()

RevisionMarkOpts(RevItalic, ColorOn, 16711680, RevStrikeThru, 0, ColorOn, 255, RevBars, 0, RevMarkRightLeft)

RevisionMarking(1, 1)

END FUNCTION

関連項目

RevisionMarking, RevisionInsertion, ReviewRevisions


RevisionMarkOpts

説明

修正記録の挿入部分と削除部分を表示するための属性と色に使用するオプションを設定します。

オプションは余白に印を見せるために変更されるかもしれません。

メニューで <ツール(L) 修正記録(V) オプション(O)> を選ぶことと同じです。

構文

RevisionMarkOpts(InsFlag,InsUseColor,InsColor,DelFlag,DelChar,DelUseColor,DelColor,MarksFlag,MarksChar,Position)

InsFlag は挿入部分表示に使う属性を定義します。次の中から１つを指定します。

RevNoAttribute (0) - 属性なし

RevBold (1) - 太字

RevItalic (2) - 斜体

RevUnderline (3) - 下線

RevDblUnderline (4) - ２重下線

InsUseColor は挿入部分表示に色を使うとき定義します。次の中から１つを指定します。

White (16777215) - 白

Cyan (16776960) - 水色

Yellow (65535) - 黄色

Magenta (16711935) - 赤紫

Green (65280) - 緑

Red (255) - 赤

Blue (16711680) - 青

Black (0) - 黒

DelFlag は削除箇所表示に使う属性を定義します。次の中から１つを指定します。

RevNoAttribute (0) - 属性なし

RevStrikeThru (1) - 取り消し線

RevOverstrike (2) - 重ね打ち文字に DelChar 引数を使用。

DelChar は削除箇所表示に使う重ね打ち文字です。

DelUseColor は削除箇所表示に色を使うとき次のどちらかのフラグを設定します。

ColorOn (1) - 色を使う

ColorOff (0) - 色を使わない

DelColor は削除箇所表示に使う色です。

White (16777215) - 白

Cyan (16776960) - 水色

Yellow (65535) - 黄色

Magenta (16711935) - 赤紫

Green (65280) - 緑

Red (255) - 赤

Blue (16711680) - 青

Black (0) - 黒

MarksFlag は余白に表示する印の種類を定義します。次の値の中から１つを指定します。

RevNoAttribute (0) - 属性なし

Revbars (1) - 縦線

RevChar (2) - 文字

MarksChar は余白に表示する印の文字です。

Position は指標を表示する位置で次の中から１つを指定します。

RevMarkLeft (0) - 左余白

RevMarkRight (1) - 右余白

RevMarkRightLeft (2) - 偶数ページは左余白、奇数ページは右余白。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は RevisionMarkOpts を使います。

戻り値

1 (TRUE) 	オプションが設定されたとき

0 (UserCancel) 中止したとき

例

FUNCTION Example()

RevisionMarkOpts(RevItalic, ColorOn, 16711680, RevStrikeThru, 0, ColorOn, 255, RevBars, 0, RevMarkRightLeft)

RevisionMarking(1, 1)

END FUNCTION

関連項目

RevisionMarking, ReviewRevisions, RevisionInsertion


Right
Right$

説明

指定の文字列の右端から指定の数の文字を取り出します。

構文

Right$(Text,Length)

Text は元の文字列です。

Length は元の文字列の右端からの文字数です。

戻り値

元の文字列 (空文字列かもしれない) から取り出した文字列

例

FUNCTION Example()

DEFSTR Char;

OpenFile = GetOpenFileName$()

I = len(OpenFile)

WHILE "\" != Assign(&Char, MID$(OpenFile, I, 1))

    I = I - 1

WEND

FileName = Right$(OpenFile, (len(OpenFile) - I))

Message("The current file is {FileName}.")

END FUNCTION

関連項目

Left$, MID$, Instr, LEN


RightAlign

説明

テキストの段落の右寄せをオンまたはオフにします。

メニューで <文字(T) 文字揃え(A) 右寄せ(R)> を選ぶことと同じです。

構文

RightAlign()

戻り値

1 (TRUE) 	テキストが右寄せになるか、解除したとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

String = " ［文字揃え］ .. "

Center()'Turn Center On

TYPE("{String} 中央揃え[Enter]")

Center()'Turn Center Off

LeftAlign()'Turn Left Alignment On

TYPE("{String} 左寄せ[Enter]")

LeftAlign()'Turn Left Alignment Off

RightAlign()'Turn Right Alignment On

TYPE("{String} 右寄せ[Enter]")

RightAlign()'Turn Right Alignment Off

Justify()'Turn Jusification On

TYPE("{String} 両端揃え[Enter]")

Justify()'Turn Justification Off

END FUNCTION

関連項目

Center, Justify, LeftAlign, NormalText


RightEdge

説明

挿入点を移動せずに文書を右端にスクロールします。

マウスを使って水平スクロールバー上のスクロールボックスを右端にドラッグすることと同じです。

構文

RightEdge()

戻り値

0

例

FUNCTION Example()

RightEdge()

END FUNCTION

関連項目

CharLeft, CharRight, EndOfFile, LeftEdge, LineDown, LineUp, ScreenDown, ScreenLeft, ScreenRight, ScreenUp, TopOfFile


Round

説明

数値を丸めて整数にします。.5 より大きいか等しい小数部分をもつ値はとなりの大きい整数に丸められます。.5 より小さい小数部分を持つ値はとなりの小さい整数に丸められます。

構文

Round(Value)

Value は丸める数値です。

戻り値

整数

例

FUNCTION Example()

SNumber = Query$("小数部を四捨五入します。数字を入れてください。")

RNumber = Round(SNumber)

Message("{SNumber} は {RNumber} になります")

END FUNCTION

関連項目

Mod, IsMumeric


RunLater

説明

１つのマクロを後で別にスタートさせます。呼ばれたマクロがスタートするまでの間、制御はユーザーに戻ります。

構文

RunLater(Macroname[!Function[(Parm1[,Parm2...])]],[Hours:]Minutes[.Seconds])

MacroName は後で実行するマクロです。

Hours はマクロを再実行する前に待つ時間の数です。

Minutes はマクロを再実行する前に待つ分の数です。

Seconds はマクロを再実行する前に待つ秒の数です。

戻り値

なし

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

CurrentTime = GetTime()

Message("The current counter is at {CurrentTime}.")

RunLater("{MacFile}!Example2()", 0.10)

END FUNCTION

FUNCTION Example2()

Message("It is now 10 seconds after you pushed ""OK"" in the message box.")

END FUNCTION

関連項目

GetTime, Pause


Save

説明

現在アクティブな文書をディスクに保存します。

メニューで <ファイル(F) 保存(S)> を選ぶことと同じです。

構文

Save()

戻り値

1 (TRUE) 	ファイルが保存されたとき

0(UserCancel)	中止したとき

-2 (GeneralFailure/FALSE) 	ファイルが保存されなかったとき、保存するファイルにタイトルがなかったとき、パスワードで保護されていて照合が失敗したとき

例

FUNCTION Example()

IF 1 != Save()

SaveAs

ENDIF

FileClose()

END FUNCTION

関連項目

SaveAs, Revert


SaveAs

説明

画面上の文書を別の名前またはファイル種類で保存します。

構文

SaveAs(Filename,Options,Doc 説明,AppName)

Filename は文書を保存するファイル名です。この引数はフルパスを含んでもかまいません。パスがなければ現在の文書のディレクトリに保存されます。

Options は Ami Pro 文書として保存するためのオプションで、次の値の中から１つを指定します。

O - Ami Pro ファイルでない

KeepFormat (32) - 書式保存

Password (64) - パスワード使用

SaveAs12(128) - Ami Pro 1.2 の書式で保存。

Passward と SaveAs12 は一緒に使えません。Ami Pro マクロファイルとして保存するときは KeepFormat だけが使えます。

Doc 説明 は新しいファイルの説明です。

AppName は使用する種別の名前で、AMIPRO.INI ファイルに存在します。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は SaveAs を使います。

戻り値

1 (TRUE) 	ファイルが保存されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	ファイルが保存されなかったとき

例

FUNCTION Example()

IF 1 != Save()

SaveAs

ENDIF

FileClose()

END FUNCTION

関連項目

FileOpen, Revert, Save


SaveAsNewStyle

説明

現在の文書の段落スタイルを新しい段落スタイルシートに保存します。

メニューで <スタイル(S) スタイルシート保存(V)> を選ぶことと同じです。

構文

SaveAsNewStyle(Name,WithContents,MacroName,RunMacro,Description)

Name は新しいスタイルシートに付ける名前です。

WithContents は新しい段落スタイルシートに文書の内容を保存するかどうかを決めるフラグで次のどちらかを指定します。

1 - 段落スタイルシートにファイルの内容を保存する

0 - 段落スタイルシートにファイルの内容を保存しない

MacroName は選択した段落スタイルシートで新しいファイルがオープンされたとき実行するマクロの名前です。

RunMacro は選択した段落スタイルシートの新しいファイルがオープンされたとき MacroName を実行するかどうかを決めるフラグで、次の値のどちらかを指定します。

1 - マクロを実行する

0 - マクロを実行しない

Description はスタイルシートの説明です。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は SaveAsNewStyle を使います。

戻り値

1 (TRUE) 	段落スタイルシートが保存されたとき

0 (UserCancel) 	中止したとき

例

FUNCTION Example()

SaveAsNewStyle("Example.STY",0,"",0,"ｽﾀｲﾙｼｰﾄ保存ﾏｸﾛの例")

END FUNCTION

関連項目

UseAnotherStyle


ScreenDown

説明

挿入点を移動せずに文書を１画面下にスクロールします。

マウスを使って垂直スクロールバー上のスクロールボックスの上をクリックすることと同じです。

構文

ScreenDown()

戻り値

1 (TRUE) 	文書がスクロールできたとき

-2 (GeneralFailure) 	文書がスクロールできなかったとき

例

FUNCTION Example()

ScreenDown()

END FUNCTION

関連項目

CharLeft, CharRight, EndOfFile, LeftEdge, LineDown, LineUp, RightEdge, ScreenLeft, ScreenRight, ScreenUp, TopOfFile


ScreenLeft

説明

挿入点を移動せずに文書を１画面左にスクロールします。

マウスを使って水平スクロールバー上のスクロールボックスの右をクリックすることと同じです。

この関数はレイアウトモードでのみ使えます。

構文

ScreenLeft()

戻り値

1 (TRUE) 	文書がスクロールできたとき

-2 (GeneralFailure) 	文書がスクロールできなかったとき

例

FUNCTION Example()

ScreenLeft()

END FUNCTION

関連項目

CharLeft, CharRight, EndOfFile, LeftEdge, LineDown, LineUp, RightEdge, ScreenDown, ScreenRight, ScreenUp, TopOfFile


ScreenRight

説明

挿入点を移動せずに文書を１画面右にスクロールします。

マウスを使って水平スクロールバー上のスクロールボックスの左をクリックすることと同じです。

この関数はレイアウトモードでのみ使えます。

構文

ScreenRight()

戻り値

1 (TRUE) 	文書がスクロールできたとき

-2 (GeneralFailure) 	文書がスクロールできなかったとき

例

FUNCTION Example()

ScreenRight()

END FUNCTION

関連項目

CharLeft, CharRight, EndOfFile, LeftEdge, LineDown, LineUp, RightEdge, ScreenDown, ScreenLeft, ScreenUp, TopOfFile


ScreenUp

説明

挿入点を移動せずに文書を１画面上にスクロールします。

マウスを使って垂直スクロールバー上のスクロールボックスの下をクリックすることと同じです。

構文

ScreenUp()

戻り値

1 (TRUE) 	文書がスクロールできたとき

-2 (GeneralFailure) 	文書がスクロールできなかったとき

例

FUNCTION Example()

ScreenUp()

END FUNCTION

関連項目

CharLeft, CharRight, EndOfFile, LeftEdge, LineDown, LineUp, RightEdge, ScreenDown, ScreenLeft, ScreenRight, TopOfFile


SelectFrameByName

説明

名前で枠を選択します。Bookmark 関数は枠に名前を付けるために使います。その枠が現在のページになければ表示されます。

構文

SelectFrameByName(FrameName)

FrameName は選択したい枠の名前です。

戻り値

0	枠が見つからなかったとき

例

FUNCTION Example()

SelectFrameByName(Query$("Enter the name of the bookmark set to the frame you want to select:"))

END FUNCTION

関連項目

MarkBookMark, GoToCmd


SelectStyle

説明

新しい段落スタイルをユーザーが選択できる状態にします。

メニューで <スタイル(S) スタイル選択(S)> を選ぶことと同じです。この関数は自動的に新しい段落スタイルの選択はしません。マクロで段落スタイルを選択するときは SetStyle 関数を使います。

構文

SelectStyle()

戻り値

1 (TRUE) 	新しい段落スタイルが選択されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	段落スタイルが選択されなかったとき

例

FUNCTION Example()

SelectStyle()

END FUNCTION

関連項目

ModifyStyle, SetStyle, ShowStylesBox, ToggleStylesBox


SelectWindow

説明

Ami Pro の MDI 文書のどれかに注目してカレント文書にします。

構文

SelectWindow(FileName)

FileName は注目する文書の名前です。この名前は文書のタイトルバーにある名前と一致しなければなりません。

戻り値

O 	文書が選択されなかったか見つからなかったとき

例

FUNCTION Example()

Text = UCASE$(Left$(Query$("What action to take (Tile, Cascade, New, Select) on MDI Windows?"), 1))

SWITCH Text

CASE "T"

TileWindow()

CASE "C"

CascadeWindow()

CASE "N"

NewWindow()

CASE "S"

SelectWindow(Query$("Name of window to select (Name must match EXACTLY)?"))

default

Message("Only the proposed options are available.")

ENDSWITCH

END FUNCTION

関連項目

TileWindow, NextWindow, SelectWindow, NewWindow


SendFrameToBack

説明

選択された枠を枠のスタックの後に送ります。

メニューで <枠(R) 背後へ(B)> を選ぶことと同じです。

構文

SendFrameToBack()

戻り値

1 (TRUE) 	枠が背後へ送られたとき

0 (NoAction) 	枠がすでに背後にあったとき

例

FUNCTION Example()

x = strfield$(CursorPosition$(), 1, ",")

y = strfield$(CursorPosition$(), 2, ",")

AddFrame(x, y, (x + 1440), (y - 1440))

MarkBookmark("Frame1", AddBookmark)

AddFrame((x + 360), (y - 360), (x + 1800), (y - 1800))

MarkBookmark("Frame2", AddBookmark)

SendFrameToBack()

MarkBookmark("Frame1", FindBookmark)

Message("The First frame is in front.")

MarkBookmark("Frame2", FindBookmark)

BringFrameToFront()

Message("The Second frame is in front.")

END FUNCTION

関連項目

BringFrameToFront, GoToCmd, AddFrame, AddFrameDLG


SendKeys

説明

アクティブなアプリケーションにキー入力を送ります。

構文

SendKeys(Keys)

Keys は文書に入力した文字列です。

Keys はキーボードにあるどの文字でもかまいません。

文字列の属性や変数は文書中に入力されません。

左の波カッコを挿入するには２つの波カッコ {{ を入力します。

左の角カッコを入力するには２つの角カッコ [[ を入力します。

ダブルコーテーションマークを入力するには２つのダブルコーテーションマーク ("") を入力します。

テキストは変数名を含むことができます。

変数名を使うときはそれを波カッコで囲み変数名として認識させます。

テキストは挿入点の移動やファンクションキーを含むことができます。

キー名を入力するにはその名前を角カッコで囲みます。

挿入点の移動やファンクションキーはシフト状態を示す CTRL,SHIFT,ALT の言葉を含むことができます。

次のキー名が使えます。

[Home] - ホーム

[End] - 終了

[PgUp] - 次頁

[PgDn] - 前頁

[Ins] - 挿入

[Del] - 削除

[Backspace] - 後退

[Enter] - 入力

[Tab] - タブ

[ESC] - エスケープ

[Up] - 上矢印

[Down] - 下矢印

[Left] - 左矢印

[Right] - 右矢印

[F1] - [F12] - ファンクションキー [F1] から [F12]。

戻り値

なし

例

FUNCTION Example()

Exec("SYSEDIT.EXE", 1)

SendKeys("[altw]t")

END FUNCTION

関連項目

Type, ActivateApp, Exec


SendMail

説明

メールサーバーを使ってメールメッセージを送ります。現在、Ami Pro は cc:Mail と Lotus Notes をサポートしています。

カレント文書で文字が選択されると、文字はクリップボードに複写されメモとして送られます。メニューで <ファイル(F) メール送信(M)> を選ぶことと同じです。

使えるメールサーバーは１つだけです。この関数はメールサーバーが、Ami Pro がインストールされているコンピュータと互換性があるときのみ有効です。

構文

SendMail(Attach)

Attach はアクティブな文書をメモに保存して貼り付けるために使います。次の値のどちらかを指定します。

Attach(1) - アクティブな文書をメモに保存して貼り付ける。

No(0) - アクティブな文書をメモに貼り付けない。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は SendMail を使います。

戻り値

1 (TRUE) 	メールが送られたとき

0 (UserCancel/FALSE) 	中止したか何も起こらなかったとき

-2 (GeneralFailure) 	メールサーバーが見つからないか、またはアクティブではなかったとき

例

FUNCTION Example()

SendMail(0)

END FUNCTION

関連項目

ReadMail


SetBackPath

説明

バックアップファイルの既定値のパス名を設定します。

メニューで <ツール(L) 環境設定(U) ディレクトリ(P)> を選ぶことと同じです。

構文

SetBackPath(Newpath)

Newpath は新しいバックアップパスです

戻り値

1 (TRUE) 	パスが正しく設定されたとき

-2 (BadPath) 	ディレクトリ名が不適当でパスが設定できなかったとき

例

FUNCTION Example()

Backup = Query$("AmiPro ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください", GetBackPath$())

Docs = Query$("AmiPro 文書ﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください",GetDocPath$())

Styles = Query$("AmiPro ｽﾀｲﾙｼｰﾄﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください",GetStylePath$())

Macros = Query$("AmiPro ﾏｸﾛﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください",GetMacPath$())

SetDocPath(Docs)

SetStylePath(Styles)

SetBackPath(Backup)

SetMacroPath(Macros)

END FUNCTION

関連項目

GetBackPath$, GetDocPath$, GetStylePath$, SetDocPath, SetStylePath


SetDataFile

説明

差し込みのレコードと説明ファイルを設定します。

構文

SetDataFile(RecFile,RecFileFlag,DescFile,DescFileFlag)

RecFile は差し込みを行うとき使うレコードファイルです。

RecFileFlag は RecFile が Ami Pro ファイルか、またはそうではないかを識別するフラグです。Ami Pro ファイルのときには 0 を設定します。Ami Pro ファイル以外のときは 1 を設定します。

DescFile はレコードファイルが Ami Pro ファイルでないときに使う説明ファイルです。説明ファイルが不要のときは空文字列 ("") を挿入します。

DescFileFlag は DescFile が Ami Pro ファイルか、またはそうでないかを識別するフラグです。Ami Pro ファイルのときには 0 を設定します。Ami Pro ファイル以外のときは 1 を設定します。

戻り値

1 (TRUE) 	レコードと説明のファイルが設定されたとき

-3	不当な入力

0 (NoAction) 	何も起こらなかったとき

例

FUNCTION Example()

SetDataFile ("Testrel.sam", 0, "", 0)

InsertMerge()

END FUNCTION

関連項目

InsertMerge


SetDefOptions

説明

Ami Pro で使う編集既定値を設定します。

メニューで <ツール(L) 環境設定(U) オプション(O)> を選ぶことと同じです。

構文

SetDefOptions(Options,HotZone)

Options は既定値のオプションを指定するフラグで次の中から１つまたは組み合わせて指定します。

DoKerning (1) - ペアカーニング

DoWidows (2) - 行余り制御

両方のオプションを設定するときは加算します。

HotZone はハイフン領域にする文字数です。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は UserSetup を使います。

戻り値

1 (TRUE) 	既定値の設定が成功したとき

0 (UserCancel) 	中止したとき

例

FUNCTION Example()

SetDefOptions(0, 5)

END FUNCTION

関連項目

ViewPreferences, SetBackPath, SetDocPath, SetStylePath, UserSetup, LoadOptions


SetDefPaths

説明

ダイアログボックスに既定値のパスを表示し、ユーザーがダイアログボックスで正しいパスを入力します。関数は自動的に既定値のパスの設定はしません。メニューで <ツール(L) 環境設定(U) ディレクトリ(P)> を選ぶことと同じです。

構文

SetDefPaths

戻り値

0

例

FUNCTION Example()

SetDefPaths

END FUNCTION

関連項目

UserSetup, SetDocPath, SetStylePath, SetBackPath, SetMacroPath


SetDlgCallBack

説明

次に表示されるダイアログボックスにあるコントロールに call back としてフラグを立てるために使われます。

表示されたダイアログボックスでコントロールの内容が１度修正されると、指定したマクロが呼ばれます。

call Back は表示されたダイアログボックスによって初期化される一種のマクロ関数でボックスをクローズすることなしに実行します。

構文

SetDlgCallBack(ID,MacroName!Function)

ID は調べたいコントロールの ID です。

MacroName は実行する関数に含まれるマクロファイルの名前です。現在のマクロディレクトリにマクロファイルがないときはフルパスが必要です。

Function は指定したオブジェクトが修正されたとき呼ぶ関数の名前です。MacroName と Function は感嘆符で分けられます。

引数を送らなくてもカッコも使わなくてもかまいません。指定の関数はダイアログボックスのウィンドウハンドル、ID、オブジェクトの内容の３つの引数付きで呼ばれます。

戻り値

なし

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

SetDlgCallBack(50, "{MacFile}!Message1")

Box = DialogBox(".", "ExampleBox")

IF Box = -1

    Message("Could not find dialog box!")

    EXIT FUNCTION

ELSEIF Box = 0

    EXIT FUNCTION

ENDIF

TYPE(GetDialogField$(8002))

END FUNCTION

FUNCTION Message1(hdlg, id, text)

Name = GetDlgItemText(hdlg, 8000)

Message("The contents of the first box are {Name}.")

Message("We will now fill the second box with the inverse of {Name}.")

FOR I = len(Name) to 1 step -1

    Name2 = strcat$(Name2, MID$(Name, I, 1))

NEXT

SetDlgItemText(hdlg, 8002, Name2)

END FUNCTION

DIALOG ExampleBox

-2134376448 8 106 38 160 54 "" "" "Sample Dialog Box"

FONT 12 "System"

50 6 62 12 8000 1350631552 "edit" "" 0

4 6 44 10 1000 1342177280 "static" "Your Name:" 0

50 20 62 12 1003 1342177287 "static" "" 0

4 22 44 10 1002 1342177280 "static" "Reversed:" 0

52 22 58 8 8002 1342177280 "static" "" 0

116 4 40 14 1 1342242817 "button" "OK" 0

116 20 40 14 2 1342242816 "button" "Cancel" 0

100 36 56 14 50 1342242816 "button" "&Run Example..." 0

END DIALOG

関連項目

GetDlgItem, GetDlgItemText, SetDlgItemText, Dialogbox, FillEdit, FillList, GetDialogField$


SetDlgItemText

説明

ダイアログボックスが表示されている間、call back に指定されたコントロールの内容を設定します。

構文

SetDlgItemText(Hglg,ID,Text)

Hglg は修正するダイアログボックスのウィンドウハンドルで、callback 関数に渡されます。

ID は内容を設定するコントロールの ID です。

Text はコントロールの内容を設定するための文字列データ (テキストボックス、コンボボックス、リストボックス、テキストを修正するとき)、

あるいは TRUE または FALSE の論理値 (オプションボタン、チェックボックスを修正するとき) です。

戻り値

1 (TRUE)	関数が成功したとき

0 (FALSE) 	関数が失敗したとき

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

SetDlgCallBack(50, "{MacFile}!Message1")

Box = DialogBox(".", "ExampleBox")

IF Box = -1

    Message("Could not find dialog box!")

    EXIT FUNCTION

ELSEIF Box = 0

    EXIT FUNCTION

ENDIF

TYPE(GetDialogField$(8002))

END FUNCTION

FUNCTION Message1(hdlg, id, text)

Name = GetDlgItemText(hdlg, 8000)

Message("The contents of the first box are {Name}.")

Message("We will now fill the second box with the inverse of {Name}.")

FOR I = len(Name) to 1 step -1

    Name2 = strcat$(Name2, MID$(Name, I, 1))

NEXT

SetDlgItemText(hdlg, 8002, Name2)

END FUNCTION

DIALOG ExampleBox

-2134376448 8 106 38 160 54 "" "" "Sample Dialog Box"

FONT 12 "System"

50 6 62 12 8000 1350631552 "edit" "" 0

4 6 44 10 1000 1342177280 "static" "Your Name:" 0

50 20 62 12 1003 1342177287 "static" "" 0

4 22 44 10 1002 1342177280 "static" "Reversed:" 0

52 22 58 8 8002 1342177280 "static" "" 0

116 4 40 14 1 1342242817 "button" "OK" 0

116 20 40 14 2 1342242816 "button" "Cancel" 0

100 36 56 14 50 1342242816 "button" "&Run Example..." 0

END DIALOG

関連項目

SetDlgCallback, GetDlgItem, SetDlgItemText, Dialogbox, FillEdit, FillList, GetDialogField$


SetDocPath

説明

文書保存のための既定のパス名を設定します。

メニューで <ツール(L) 環境設定(U) ディレクトリ(P)> を選ぶことと同じです。

構文

SetDocPath(Newpath)

Newpath は新しい既定の文書パスです。

戻り値

1 (TRUE) 	パスが正しく設定されたとき

-2 (GeneralFailure) 	パスが設定されなかったとき

例

FUNCTION Example()

Backup = Query$("AmiPro ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください", GetBackPath$())

Docs = Query$("AmiPro 文書ﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください",GetDocPath$())

Styles = Query$("AmiPro ｽﾀｲﾙｼｰﾄﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください",GetStylePath$())

Macros = Query$("AmiPro ﾏｸﾛﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください",GetMacPath$())

SetDocPath(Docs)

SetStylePath(Styles)

SetBackPath(Backup)

SetMacroPath(Macros)

END FUNCTION

関連項目

ViewPreferences, GetBackPath$, GetDocPath$, GetStylePath$, SetBackPath, SetStylePath, UserSetup, SetDefPaths


SetFormula

説明

カレントの表のセルに式を挿入します。

メニューで <表(B) 式編集(F)> を選ぶことと同じです。

構文

SetFormula(Formula)

Formula は表のセルに入力する式です。ユーザーがセルの式を入力するには EditFormula を使います。

戻り値

1 (TRUE) 	式が挿入されたとき

-6 (NoMemory) 	メモリ不足のため失敗したとき

例

FUNCTION Example()

radius = Query$("半径は？")

SetFormula(3.1415926 * radius * radius)

END FUNCTION

関連項目

EditFormula


SetFrameDefaults

説明

枠の既定値を設定します。

メニューで <枠(R) 枠レイアウト修正(M) 既定値にする(M)> を選ぶことと同じです。

この関数は FrameModInit を実行した後で呼びます。

修正を受け入れるためにこの関数の後で FrameModFinish を呼びます。

構文

SetFrameDefaults(Borderwhere,ThickType,PosType,Units,ShadeType,BackType,DefType,LeftMargin,BottomMargin,TopMargin,RightMargin,ShadowLeft,ShadowRight,ShadowBottom,ShadowColor,Rounded)

Borderwhere は枠の回りの線です。次の値の中から１つを指定します。

1 - 全部

2 - 左

4 - 右

8 - 上

16 - 下

Thicktype は外枠線の太さで次の中から１つを指定します。

Hairline (1) - 極細線

OnePoint (2) - １ポイント線

TwoPoint (3) - ２ポイント線

ThreePoint (4) - ３ポイント線

FourPoint (5) - ４ポイント線

FivePoint (6) - ５ポイント線

SixPoint (7) - ６ポイント線

DoubleOnePoint (8) - １ポイント線２本

DoubleTwoPoint (9) - ２ポイント線２本

ThreeLines (10) - 極細線が２ポイント線の上下に付く３本線

HairBelow (11) - 極細線が３ポイント線の下に付く２本線

HairAbove (12) - 極細線が３ポイント線の上に付く２本線

DotHairline (13) - 極細の点線

DotOnePoint (14) - １ポイントの点線

DotTwoPoint (15) - ２ポイントの点線

DashHairline (16) - 極細の破線

DashOnePoint (17) - １ポイントの破線

DashTwoPoint (18) - ２ポイントの破線

DsdotHairline (19) - 極細の一点破線

DsdotOnePoint (20) - １ポイントの一点破線

DsdotTwoPoint (21) - ２ポイントの一点破線

Postype は枠の回りの境界の位置で、次の値の中から１つを指定します。

1 - 中間

2 - 内側

3 - 外側

5 - 外側寄り

Postype 引数は１つだけ選択できます。

Units は単位で次の中から１つを指定します。

Inches (1) - インチ

CM (2) - センチメートル

Picas (3) - パイカ

Points (4) - ポイント

Shadetype は線の色です。

Backtype は背景色です。

DefType は基本設定です。

Shadetype は線の色です。

Backtype は背景色です。

DefType は基本設定です。

文字はどのように枠の回りをおおうのか、枠は透明または不透明のどちらか、四角い角または丸い角のどちらか、ページのどこに置かれるのか、マクロが割り当てられているのかなどで、次の中から１つを指定します。

Opaque (64) - 枠の後ろに文字または図が隠れる。

Wraparound (128) - 枠の上下左右に文字を表示する。

RepeatFrame (256) - 複数ページに枠を繰り返す。全ページに繰り返すとき RepeatEven と RepeatOdd の組み合わせは使わない。

NoWrapBeside (131072) - 枠の上下には文字を表示するが枠の左右には表示しない。

AnchorFrame (524288) - 現在の位置または改行位置に枠を移動する。この値については繰り返しの値は使えない。

RepeatEven (4194304) - 偶数ページで枠を繰り返す。RepeatFrame と一緒に指定する。

RepeatOdd (8192) - 奇数ページで枠を繰り返す。RepeatFrame と一緒に指定する。

RunMacro (134217728) - 枠を選択するごとにマクロを実行する。

Borders (65536) - 枠が境界を持つとき使用する。

TextFrame (512) - 他の値と組み合わせて常に使用する。

DefType 引数は各値を加算します。構文は "N &0x300c0" で N は DefType の値です。

Leftmarg は枠の左余白です。

Topmarg は枠の上部余白です。

Rightmarg は枠の右余白です。

Bottommarg は枠の下部余白です。

Units 以外のすべての引数は twips （1 inch = 1440 twips）で指定します。インチの数は 1440 を掛けて twips の値を求めます。

Rounded は角を丸くする量でパーセント（100％ = 円）で示します。

Shadowcolor は色を割り当てる値で、次の中から１つを指定します。

Red - 255

Orange - 33279

Yellow - 65535

Green - 65280

Cyan - 16776960

MedBlue - 16744448

Blue - 16727905

Purple - 16711809

Magenta - 16711935

Pink - 8388863

White - 16777215

Black - 0

次の４つの引数は枠の横から影の距離を設定します。0 か正の数です。

好みのインチの数に 1440 を掛けて twips の値を求めます。次の値の中から１つを指定するか直接数を指定してもかまいません。

None (0) - 影なし

Shallow (57) - 細い影

Normal (100) - 標準

Deep (172) - 太い影

Shadowleft は影が枠の左端から派生する twips（1 inch = 1440 twips）単位の距離です。

Shadowtop は影が枠の上端から派生する twips（1 inch = 1440 twips）単位の距離です。

Shadowright は影が枠の右端から派生する twips（1 inch = 1440 twips）単位の距離です。

Shadowbottom は影が枠の下端から派生する twips（1 inch = 1440 twips）単位の距離です。

戻り値

1

例

FUNCTION Example()

cm = 1440 / 2.54

black=0

White=16777215

SetFrameDefaults(1,1,1,2,Black,White,Opaque+Wraparound+Borders,(0.25 * cm),(0.25 * cm),(0.25 * cm),(0.25 * cm),0,0,(0.3 * cm),(0.4 * cm),Black,10)

END FUNCTION

関連項目

FrameModInit, FrameModBorders, FrameModLines, FrameModType, FrameModFinish


SetGlobalArray

説明

マクロ固有の配列変数の値をグローバルな配列変数の要素に割り当てます。

構文

SetGlobalArray(Name,Index,Value)

Name はセットするグローバル配列の名前または ID 番号です。

Index は値を割り当てる配列の要素です。

Value は配列の要素に保存する値です。

戻り値

1 (TRUE) 値が正しくセットされたとき

0 (FALSE) 値がセットできなかったとき、または存在しないグローバル変数にセットしようとして実行時エラーになったとき

例

FUNCTION Example()

AllocGlobalVar("Names", 5)'Allocate space for a 5 element global variable

AllocGlobalVar("Numbers", 5)'Allocate space for a 5 element global variable

AllocGlobalVar("YourName", 1)'Allocate space for a single element global variable.

FOR I = 1 to 5'Do the following 5 times.

SetGlobalArray("Names", I, Query$("Enter Name Number {I}"))

'Fill a global array with the return from QUERY

SetGlobalArray("Numbers", I, (100/I))'Fill a global array with a number

NEXT

NewName = Query$("What is your name?")'Query the user for his/her name

SetGlobalVar("YourName", NewName)'Set a global variable to that value

CALL Example2()'Call the following function

END FUNCTION

FUNCTION Example2()

Name = GetGlobalVar$("YourName")'Get the value of the global variable

Message("Your name is {Name}.")'Message that value in a box.

FOR I = 1 to 5'Do the following 5 times.

TheirName = GetGlobalArray$("Names", I)'Get the value of the current element from the array

TheirNumber = GetGlobalArray$("Numbers", I)'Get the value of the current element from the array

TYPE("Name #{I} is {TheirName}, and the number is {TheirNumber}.[Enter]")

'Type the values to the screen.

NEXT

FreeGlobalVar("Names")'Clear the space for the first global array

FreeGlobalVar("Numbers")'Clear the space for the second global array

FreeGlobalVar("YourName")'Clear the space for the global variable

END FUNCTION

関連項目

AllocGlobalVar, FreeGlobalVar, GetGlobalVar$, GetGlobalArray$, SetGlobalVar, グローバル変数


SetGlobalVar

説明

マクロの固有変数の値をグローバル変数に割り当てます。

構文

SetGlobalVar(Name,Value)

Name はセットするグローバル変数の名前または ID 番号です。

Value はグローバル変数に保存する値です。

戻り値

1 (TRUE) 	値が正しく設定されたとき

0 (FALSE) 	値が設定できなかったとき、または存在しないグローバル変数に設定しようとして実行時エラーになったとき

例

FUNCTION Example()

Again:

Count = GetGlobalVarCount()

IF Count < 1

    Count = 1

ELSE

    DIM Globals(Count)

    GetGlobalVarNames(&Globals)

    FillEdit(9000, &Globals)

ENDIF

Box = DialogBox(".", "ExampleBox")

IF Box = 0

    EXIT FUNCTION

ELSEIF Box = 3 AND GetDialogField$(9000) != ""

    FreeGlobalVar(GetDialogField$(9000))

ELSEIF Box = 4 AND GetDialogField$(9000) != ""

    Message(GetGlobalVar$(GetDialogField$(9000)))

ELSEIF Box = 5

    AllocGlobalVar(Query$("Name for new global variable:"), Query$("Number of elements?"))

ELSEIF Box = 6 AND GetDialogField$(9000) != ""

    SetGlobalVar(GetDialogField$(9000), Query$("What do you want in it?"))

ENDIF

GoTo Again

END FUNCTION

DIALOG ExampleBox

-2134376448 7 98 20 160 102 "" "" "Global Variables"

FONT 12 "System"

116 4 40 14 2 1342242817 "button" "Done" 0

116 20 40 14 3 1342242816 "button" "Free" 0

116 36 40 14 4 1342242816 "button" "Show..." 0

116 52 40 14 5 1342242816 "button" "Allocate..." 0

116 68 40 14 6 1342242816 "button" "Set..." 0

6 14 102 82 9000 1352728579 "listbox" "" 0

8 4 98 8 1000 1342177280 "static" "Currently Allocated Globals:" 0

END DIALOG

関連項目

AllocGlobalVar, FreeGlobalVar, GetGlobalVar$, GetGlobalArray$, SetGlobalArray, グローバル変数


SetIndexFile

説明

索引を作成するために使うファイル名を設定します。

<ツール(T) 目次/索引(N)> のダイアログボックスと <グループ文書オプション> のダイアログボックスで使う索引ファイル名を記録します。

メニューで <ファイル(F) グループ文書(E) オプション(O)> を選ぶことと同じです。

この関数は索引を作成するとき Generate より先に使用します。

構文

SetIndexFile(Separators,IndexFile)

Separators は索引の中でアルファベットの分離記号を使うかどうかを設定します。次の値のどちらかを指定します。

Yes (1) - アルファベットの分離記号を含む

N0 (2) - アルファベットの分離記号を含まない

IndexFile は索引ファイルの名前です。

<目次/索引(N)> のダイアログボックスを表示して引数を指定する場合は Generate を使います。

<グループ文書(E)> のダイアログボックスを表示して引数を指定する場合は MasterDocOpts を使います。

戻り値

1

例

FUNCTION Example()

SetIndexFile (2, "a:\amipro\docs\Test.sam")

END FUNCTION


SetMacroPath

説明

マクロ保存のための既定のパス名を設定します。

メニューで <ツール(L) 環境設定(U) ディレクトリ(P)> を選ぶことと同じです。

構文

SetMacroPath(NewPath)

NewPath はマクロの新しい既定パスです。

戻り値

1 (TRUE) 	マクロパスが設定されたとき

-2 (GeneralFailure) 	マクロパスが設定できなかったとき

例

FUNCTION Example()

Backup = Query$("AmiPro ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください", GetBackPath$())

Docs = Query$("AmiPro 文書ﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください",GetDocPath$())

Styles = Query$("AmiPro ｽﾀｲﾙｼｰﾄﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください",GetStylePath$())

Macros = Query$("AmiPro ﾏｸﾛﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください",GetMacPath$())

SetDocPath(Docs)

SetStylePath(Styles)

SetBackPath(Backup)

SetMacroPath(Macros)

END FUNCTION

関連項目

SetStylePath, SetDocPath$, SetBackPath


SetMasterFiles

説明

グループ文書を含むファイルを決めます。現在のファイルをグループ文書にします。

メニューで <ファイル(F) グループ文書(E)> を選んで、グループ文書を含み、<了解> を選択するのと同じです。

構文

SetMasterFiles(Size,Count,File1[,File2...])

Size はファイルを保持するために確保するバッファの量です。各ファイルにあるすべての文字の合計にファイルの数 +1 を加えた値です。

Count はグループ文書にあるファイルの数です。

File1 はグループ文書のリストにある最初のファイルの名前です。ファイルが現在の文書ディレクトリにないときは引数はフルパスをもつ必要があります。

File2 は File1 と同様に扱う他のファイルです。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は MasterDoc を使います。

戻り値

1 (TRUE) 	グループ文書リストが設定されたとき

-2 (GeneralFailure) 	グループ文書リストが設定できなかったとき

例

FUNCTION Example()

size = 1 + len("TEST.SAM") + 1

SetMasterFiles(size, 1, "TEST.SAM")

END FUNCTION

関連項目

GetMasterFilesCount, GetMasterFiles


SetStyle

説明

指定した段落スタイルを現在の段落に割り当てます。

<スタイル(S) スタイル選択(S)> を選択することと同じです。

構文

SetStyle(Stylename)

Stylename は現在の段落スタイルシートまたは文書にある段落スタイルの名前です。

スタイルボックスを表示してユーザーが使用する段落スタイルの名前を選択するときは SelectStyle を使います。

戻り値

1

例

FUNCTION Example()

NewName = Query$("What do you want to name the new style?", "TestStyle")

BaseName = GetStyleName$()

CreateStyle(NewName, BaseName)

ModifySelect(NewName)

ModifyAlignment(AlignLeft, 0, 0, 0, 0, 0)

ModifyBreaks(4, 0, 0)

ModifyEffects("<ｷ10>", SpaceIndent, ".20", 0, 0, 0,108,179,54, 0)

ModifySpacing(2, 0, 0, 0, 0, 0, 100)

ModifyTable(3, 2, ".", ",", "$", (8 + 16 + 128 + 256))

ModifyLines(1, 2, 180, 0, 0, 0, 0, 65535)

ModifyFont("TimesNewRomanPS", (20 20), 255, 1,108,179,54)

SetStyle(NewName)

ModifyReflow()

TYPE("This[Enter]is what the new[Enter]style looks[Enter]Like...[Enter]")

SetStyle(BaseName)

END FUNCTION

関連項目

GetStyleName$, ModifyStyle, SelectStyle, ShowStylesBox, ToggleStylesBox


SetStylePath

説明

段落スタイルシートを保存するための既定のパス名を設定します。

メニューで <ツール(L) 環境設定(U) ディレクトリ(P)> を選ぶことと同じです。

構文

SetStylePath(Newpath)

Newpath は段落スタイルシートの新しいパスです。

戻り値

1 (TRUE) 	パスが正しく設定されたとき

-2 (GeneralFailure) 	パスが設定できなかったとき

例

FUNCTION Example()

Backup = Query$("AmiPro ﾊﾞｯｸｱｯﾌﾟﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください", GetBackPath$())

Docs = Query$("AmiPro 文書ﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください",GetDocPath$())

Styles = Query$("AmiPro ｽﾀｲﾙｼｰﾄﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください",GetStylePath$())

Macros = Query$("AmiPro ﾏｸﾛﾌｧｲﾙﾃﾞｨﾚｸﾄﾘを入力してください",GetMacPath$())

SetDocPath(Docs)

SetStylePath(Styles)

SetBackPath(Backup)

SetMacroPath(Macros)

END FUNCTION

関連項目

GetBackPath$, GetDocPath$, GetStylePath$, SetBackPath, SetDocPath, UserSetup, SetDefPaths


SetTOCFile

説明

作成したカレントファイルの目次を保存するファイルを設定します。

<ツール(T) 目次/索引(N)> のダイアログボックスと <グループ文書オプション> のダイアログボックスで目次ファイル名の情報を記録します。

メニューで <ファイル(F) グループ文書(E) オプション(O)> を選ぶことと同じです。

この関数は目次を作成する Generate より先に使います。

この関数は間違っていてもパスのチェックはしません。

構文

SetTOCFile(TOCFileName)

TOCFileName は作成する目次のファイル名です。

<目次/索引(N)> ダイアログボックスを表示して目次ファイル名を入力するときは Generate です。

<グループ文書オプション> ダイアログボックスを表示して目次ファイル名を入力させるときは MasterDocOpts です。

戻り値

1

例

FUNCTION Example()

SetTOCFile("TestToc.sam")

END FUNCTION

関連項目

Generate, MasterDocOpts


SetTOCOpts

説明

作成したカレントファイルの目次のオプションを設定します。

メニューで <ファイル(F) グループ文書(E) オプション(O) 目次オプション(O)> を選ぶことと同じです。

メニューで <ツール(L) 目次/索引(N) 目次オプション(T)> を選ぶのとも同じです。

構文

SetTOCOpts(Style1,Sep1,Style2,Sep2,Style3,Sep3,TOCOpts)

Style1 はレベル１の段落スタイルです。

Sep1 はレベル１の目次とページ番号を区切る文字です。

Style2 はレベル２の段落スタイルです。

Sep2 はレベル２の目次とページ番号を区切る文字です。

Style3 はレベル３の段落スタイルです。

Sep3 はレベル３の目次とページ番号を区切る文字です。

区切り文字はピリオド、ハイフン、下線、空白などです。

TOCOpts はページ番号を利用したり、各目次レベルのページ番号を揃えるオプションを設定するのに使います。

Key1Page (1) - レベル１の目次のページ番号を含む

Key1Align (2) - 右寄せでレベル１の目次のページ番号を含む

Key2Page (4) - レベル２の目次のページ番号を含む

Key2Align (8) - 右寄せでレベル２の目次のページ番号を含む

Key3Page (16) - レベル３の目次のページ番号を含む

Key3Align (32) - 右寄せでレベル３の目次のページ番号を含む

値は加算されることもあります。

<目次オプション> ダイアログボックスを表示して引数を指定する場合は SetTOCOpts を使います。

戻り値

1 (TRUE) 	オプションが設定されたとき

0 (UserCancel) 	中止したとき

例

FUNCTION Example()

SetTOCOpts("Header1", ".", "Header2", ".", "SubHead", ".", 1)

END FUNCTION

関連項目

SetTOCFile, Generate


ShowBar

説明

メニューバーとそのメニューを表示します。

構文

ShowBar(BarID)

BarID は AddBar から返されたメニューバーの識別番号です。

既定の Ami Pro メニューバーを使うときは 1 です。

戻り値

1 (TRUE) 	メニューバーが表示されたとき

0 (FALSE) 	バーが表示されなかったか BarID が誤っていたとき

例

FUNCTION Example()

StatusBarMsg("メニューバー & メニュー項目登録中...")'Notify the user what we are doing

MacFile = GetRunningMacroFile$()'Get the name of this macro file.

BarID = AddBar()'Add a new menu bar.

IF BarID > 0'If it was added,

MacFile = GetRunningMacroFile$()

AddMenu(BarID, "ファイル(\036F\037ﾌ)")'Add a File menu to it.

AddMenu(BarID, "マクロ(\036M\037ﾏ)")'Add a Macros menu to it

AddMenuItem(BarID, "ファイル(\036F\037ﾌ)", "新規作成(\036N\037ｼ)", New,

"新しい文章を作成します")'Add an item to the file menu

AddMenuItem(BarID, "ファイル(\036F\037ﾌ)", "メニューバーの復元(\036B\037ﾌ)",

"{MacFile}!Back()", "Ami Proのメニューバーに復帰します")

'Add an item to the file menu.

AddMenuItem(BarID, "マクロ(\036M\037ﾏ)", "編集(\036E\037ﾍ)", MacroEdit,

"マクロファイルの内容または、ショートカットキーを編集します")'Add an item to the macros menu.

AddCascadeMenu(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)")

'Add a cascade menu to the macros menu

AddCascadeMenuItem(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)",

"簡易実行(\036U\037ｶ)", "新規ﾏｸﾛ.SMM", "簡易記録したマクロを実行します")

'Add an item to the cascade menu on macros.

AddCascadeMenuItem(BarID, "マクロ(\036M\037ﾏ)", "実行(\036P\037ｼ)",

"ﾏｸﾛ実行(\036M\037ﾏ)", MacroPlay,

"ファイルに登録されているマクロを実行します")

'Add an item to the cascade menu on macros.

AddMenuItem(BarID, "マクロ(\036M\037ﾏ)", "オプション(\036O\037ｵ)",

MacroOptions, "")

'Add an item to the macros menu.

ShowBar(BarID)'Show the newly created menu bar.

ENDIF

StatusBarMsg("")'Restore the status bar.

END FUNCTION

FUNCTION Back()

ShowBar(1)'Restore the original Ami Pro menu bar.

END FUNCTION

関連項目

AddBar, AddMenu, AddMenuItem, AddMenuItemDDE, ChangeMenuAction, CheckMenuItem, DeleteMenu, DeleteMenuItem, GrayMenuItem, RenameMenuItem


ShowIconBar

説明

画面上の既定の位置にアイコンパレットを表示します。

メニューで <ツール(L) アイコンパレット(I)> を選んで <スマートアイコンを表示する(S)> チェックボックスを選択することと同じです。

構文

ShowIconBar()

戻り値

1 (TRUE) 	アイコンバーが表示されたとき

0 (NoAction) 	アイコンバーがすでに表示されていたとき

例

FUNCTION Example()

ShowIconBar()

END FUNCTION

関連項目

ViewPreferences, HideIconBar, ShowTabRuler, ToggleIconBar


ShowStylesBox

説明

スタイルボックスを表示します。

メニューで <表示(V) スタイルボックス表示(B)> を選ぶことと同じです。

構文

ShowStylesBox()

戻り値

1 (TRUE) 	スタイルボックスが表示されたとき

0 (NoAction)	スタイルボックスがすでに表示されていたとき

例

FUNCTION Example()

ShowStylesBox()

END FUNCTION

関連項目

ViewPreferences, HideStylesBox, ShowIconBar, ShowTabRuler, ToggleStylesBox


ShowTabRuler

説明

画面の上にタブルーラーを表示します。

メニューで <表示(V) ルーラー表示(R)> を選ぶことと同じです。

構文

ShowTabRuler()

戻り値

1 (TRUE) 	タブルーラーが表示されたとき

0 (NoAction) 	タブルーラーが既に表示されていたとき

例

FUNCTION Example()

ShowTabRuler()

END FUNCTION

関連項目

ViewPreferences, HideTabRuler, ShowIconBar, ToggleTabRuler


SingleStep

説明

マクロステートメントを１行ずつ実行して、マクロをデバッグできるようにします。

SingleStep の機能には２つのモードがあります。１つ目はデバッグするマクロを MDI ウィンドウでオープンし、SingleStep がそこにあるとき、現在実行している行が強調されて形式のないダイアログボックスが表示されます。２つ目はデバッグするマクロがオープンしていないとき、現在実行中のステートメントを表示するダイアログボックスが表示されます。

マクロが MDI ウィンドゥにあるとき次のことができます。

Resume - ダイアログボックスを消して次のブレークポイントまたは１ステップ、またはマクロの終わりまで続けます。

SingleStep - 現在の命令を実行して再び止まります。

Variables - 実行中のマクロに設定するローカル変数の一覧を表示する形式上のダイアログボックスを持ってきます。実行時にここで変数の内容を変更できます。変数が配列のとき要素の数は表示されますが変更できません。

StepThrough - CALL ステートメントで、そのマクロを最後まで実行してからふたたび止まります。

BreakPoints - 現在アクティブなブレークポイントの一覧を表示する形式的なダイアログボックスを持ってきます。リストボックスに感嘆符、関数名、ピリオドの付いたファイル名の一覧と関数の中に行番号があります。

SetBP - カレント行にブレークポイントを設定します。この場合はマクロウィンドウまたは実行するマクロを含む別のウィンドウがアクティブになっていることを仮定します。

ブレークポイントを設定できない箇所は空行、注釈行、ELSE、WEND、ENDIF です。ブレークポイントは実行可能なコードのある行だけに置くことができ、マクロの中の SingleStep() の後です。

Cancel - マクロを中止します。ONCANCEL があれば、それを実行します。

マクロでオープンしている文書を修正するときは、その文書が現在実行中のマクロではないことを確認します。

最初に止まって実行していた行が隠れたとき、その行を削除したり置換したりしないように [DEL] にふれたり入力を開始してはいけません。

構文

SingleStep(State)

State は実行モードをオフ (0) にするかオン (1) にするかを設定します。

戻り値

なし

例

FUNCTION Example()

SingleStep(1)

FOR I = 1 to 10

TYPE("Hello...")

NEXT

END FUNCTION

関連項目

AnswerMsgBox, Messages, UserControl, IgnoreKeyboard, マクロエラーとマクロのデバック


SizeColumnRow

説明

余白の幅や高さと行、列の幅と高さを設定します。

メニューで <表(B) 行/列のサイズ(S)> を選ぶことと同じです。表に自動行高オプションが設定されていたとき、それを無視します。

構文

SizeColumnRow(ColWidth,ColGutter,RowHeight,RowGutter)

ColWidth は twips（1 inch = 1440 twips）単位の列幅です。

ColGutter は twips（1 inch = 1440 twips）単位の列間隔です。

RowHeight は twips（1 inch = 1440 twips）単位の行高です。

RowGutter は twips（1 inch = 1440 twips）単位の行間隔です。

twips の値は、inch の数に 1440 を掛けて求めます。

ダイアログボックスを表示して引数を指定する場合は SizeColumnRow を使います。

戻り値

1 (TRUE) 	行/列のサイズが設定されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	サイズが設定されなかったとき

例

FUNCTION Example()

Tables(1,1,3,3)

TableLines(Allsides,0,0,onepoint,0)

SizeColumnRow(720, 0, 180, 0)

END FUNCTION

関連項目

DeleteColumnRow, InsertColumnRow


SJIS
SJIS$

説明

文字列の先頭文字のシフトJISコードを数値文字列にして返します。文字列が１文字以上からなる場合、２文字目以降の文字は無視します。

構文

SJIS$(Text)

Text は、１文字以上の文字列です。

戻り値

Text で指定された文字列の先頭文字のシフトJISコードの数値文字列

例

Function Example()

Again:

text=Kmid$(Query$("漢字を一文字入力してください","漢"),1,1)

if IsDBCS(text,1)<>2 then goto Again endif

sj=SJIS$(text)

Hsj=HEX$(sj)

js=SJISToJIS$(sj)

Hjs=HEX$(js)

Message("""{text}"" は ｼﾌﾄJISｺｰﾄﾞ:{Hsj}  JISｺｰﾄﾞ:{Hjs} です")

Nsj=KNJ$(sj+1)

Njs=KNJ$(JISToSJIS$(js+1))

Message("{text} の ｼﾌﾄJISｺｰﾄﾞ での次の文字は {Nsj} です")

Message("{text} の JISｺｰﾄﾞ での次の文字は {Njs} です")

End Function

関連項目

KNJ$


SJISTOJIS
SJISTOJIS$

説明

引数で与えられるシフトJISコードの数値文字列をJISコードの数値文字列にして返します。

構文

SJISTOJIS$(Text)

Text は、シフトJISコードとして有効な数値文字列

戻り値

関数の引数から求めたJISコードの数値文字列

例

Function Example()

Again:

text=Kmid$(Query$("漢字を一文字入力してください","漢"),1,1)

if IsDBCS(text,1)<>2 then goto Again endif

sj=SJIS$(text)

Hsj=HEX$(sj)

js=SJISToJIS$(sj)

Hjs=HEX$(js)

Message("""{text}"" は ｼﾌﾄJISｺｰﾄﾞ:{Hsj}  JISｺｰﾄﾞ:{Hjs} です")

Nsj=KNJ$(sj+1)

Njs=KNJ$(JISToSJIS$(js+1))

Message("{text} の ｼﾌﾄJISｺｰﾄﾞ での次の文字は {Nsj} です")

Message("{text} の JISｺｰﾄﾞ での次の文字は {Njs} です")

End Function

関連項目

JISToSJIS


SmallCaps

説明

指定の文字または入力文字を小さい大文字にするトグルです。

メニューで <文字(T) 大文字/小文字(C) 小さい大文字(S)> を選ぶことと同じです。

構文

SmallCaps()

戻り値

1 (TRUE) 	属性が設定されたとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

WHILE "" = CurShade$()

UserControl("Select the text to modify, then choose Resume...")

WEND

SmallCaps()

END FUNCTION

関連項目

InitialCaps, LowerCase, UpperCase


Sort

説明

選択された文字あるいは文書全体を整列します。

メニューで <ツール(L) 並べ替え(O)> を選ぶことと同じです。

構文

Sort(Key1,Key2,Key3,NumParas,Delimiter,Options)

Key1 は第１キーの項目番号です。

Key2 は第２キーの項目番号です。

Key3 は第３キーの項目番号です。Key1、Key2、Key3 は整列に使うキーの項目番号です。２つ以下のキーを使うとき、使用しないキーは値があっても無視されます。

NumParas 引数は１つのレコードとみなされる段落 (表を整列するときは行) の数です。

Delimiter は項目の区切り文字です。この引数は TAB がないとき項目の区切り文字を決めます。

TAB を区切り文字にするときは、Options で設定します。この場合は Delimiter は無視されます。

コーテーションマークが区切り文字のとき、その ANSI の値 34 が使われます (CHR$(34)) 。

Options は整列のオプションフラグで、次のいくつかを指定できます。

Ascending (1) - 昇順で整列。オプションが設定されていなかったら降順で整列されます。

KeyOneAlpha (2) - Key1 を英数字として整列します。このオプションが設定されなければ数字とみなします。

KeyTwoAlpha (4) - Key2 を英数字として整列します。このオプションが設定されなければ数字とみなします。

KeyThreeAlpha (8) - Key3 を英数字として整列します。このオプションが設定されなければ数字とみなします。

KeyOneFirst (16) - Key1 の始めの言葉を使って整列。

KeyOneSecond (32) - Key1 の２番目の言葉を使って整列。

KeyTwoFirst (64) - Key2 の始めの言葉を使って整列。

KeyTwoSecond (128) - Key2 の２番目の言葉を使って整列。

KeyThreeFirst (256) - Key3 の始めの言葉を使って整列。

KeyThreeSecond (512) - Key3 の２番目の言葉を使って整列。

KeyXFirst と KeyXSecond 引数はキー項目の１番目と２番目の言葉を整列するときだけ使います。これらの引数が使われていないときデータは項目の全体の内容を基に整列されます。

UseKeyTwo (1024) - Key2 の値を使います。Key2 の引数が設定されていなければ無視します。

UseKeyThree (2048) - Key3 の値を使います。Key3 の引数が設定されていなければ無視します。

ANSISort (4096) - ANSI の整列順を使って整列します。設定されていなければ IBM PC の整列順を使います。

このオプションはいつも Ami Pro ファイルに設定しておきます。

TabDelimited (8192) - タブで区切られた項目を整列します。

TableSort (16384) - 表で整列します。

これらのオプションは加算して指定します。

Key2 と Key3 は使用しないときは設定する必要はありません。

ANSISort 引数は Ami Pro ファイルのためにいつも設定して置きます。

項目がタブで区切られているときは TabDelimited 引数を設定して置きます。

これが設定されていると Delimiter 引数は無視されます。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は Sort を使います。

戻り値

1 (TRUE) 	並べ替えが成功したとき

0 (UserCancel) 	中止したとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

IF "" = CurShade$()

UserControl("Shade on the area to sort, or none for the entire stream, then choose Resume...")

ENDIF

Sort(1, 2, 3, 1, "", 1)

END FUNCTION

関連項目

Merge


Spacing

説明

編集中の段落あるいは隠れた段落に行間隔を設定します。

メニューで <文字(T) 行間隔(S)> を選ぶことと同じです。

構文

Spasing(Amount)

Amount は新しい間隔です。Amount 引数は次の中から指定します。

SpaceStyle (0) - 段落スタイルに記述された行間隔を使用

SpaceSingle (-1) - １行間隔を使用

SpaceOneHarf (-2) - １と 0.5行間隔を使用

SpaceDouble (-3) - ２行間隔を使用

任意の行間隔を指定するには、Amount を twips（1 inch = 1440 twips）で行間隔を表わす正の整数にします。point サイズに 20 を掛けて求めます。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は Spacing を使います。

戻り値

1 (TRUE) 	行間隔が正しく変更されたとき

0 (UserCancel) 	中止したとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

Spacing(-2)

END FUNCTION

関連項目

FontChange, NormalText, ModifyAlignment, Center, Justify


SpecialEffects

説明

指定した文字または入力文字の特殊属性を設定します。

メニューで <文字(T) 特殊属性(E)> を選ぶことと同じです。

構文

SpecialEffects(Which,OverStrikeChar)

Which は使用する特殊属性のフラグで次の中から１つを指定します。

Superscript (64) - 上付き文字

Subscript (128) - 下付き文字

DoubleUnderline (256) - ２重下線文字

Strikethrough (512) - 取り消し線文字

Overstrike (1024) - OverStrikeChar で指定する文字を使う重ね打ち文字

OverStrikeChar は重ね打ち文字に使う文字です。Overstrike の値も設定しておきます。

２つ以上の特殊属性は加算して指定します。ダイアログボックスを表示して引数を指定する場合は SpecialEffects を使います。

戻り値

1 (TRUE) 	特殊属性が適用されたとき

0 (UserCancel) 	中止したとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

retcd = SpecialEffects(320, 0)

END FUNCTION

関連項目

NormalText, Underline, WordUnderline


SpellCheck

説明

単語や文書の綴りのチェックをします。

メニューで <ツール(L) スペルチェック(S)> を選ぶことと同じです。

構文

SpellCheck(Options)

Options はスペルチェックを使用するフラグで次の中から１つまたは組み合わせて指定します。

SpellBegin (1) - 文頭から開始する

CurrentStream (2) - 現在の文だけチェックする。すべての文をチェックするときはこのフラグをセットしてはいけません。

NoDoubleWord (4) - 同じ単語を無視する

IgnoreNums (8) - 数字を含む単語を無視する

IgnoreInitCaps (16) - 大文字で始まらない単語をチェックする

TurboCheck (32) - 最後にスペルチェックした後、変更のあった文書だけをチェックする。スピードアップします。

SpellAlt (64) - ユーザーが入力した置き換えのスペルをチェックする。ダイアログボックスを表示して、ユーザーが引数を指定する場合は SpellCheck を使います。

戻り値

1 (TRUE) 	スペルチェックが終了したとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	スペルチェックができなかったとき

例

FUNCTION Example()

SpellCheck(1)

END FUNCTION

関連項目

Thesaurus


StandardView

説明

現在の表示レベルを 100％表示に変更します。

メニューで <表示(V) 100％(S)> を選ぶことと同じです。

構文

StandardView()

戻り値

1

例

FUNCTION Example()

Again:

View = Query$("ﾋﾞｭｰﾓｰﾄﾞ選択:(E)拡大ｻｲｽﾞ,(F)ﾍﾟｰｼﾞ全体,(A)見開き,(S)標準ｻｲｽﾞ,(W)指定ｻｲｽﾞ")

View = UCASE$(Left$(View, 1))

SWITCH View

CASE "E"

EnlargedView()

CASE "F"

FullPageView()

CASE "A"

FacingView()

CASE "S"

StandardView()

CASE "W"

WorkingView()

default

Message("""E"", ""F"", ""S"", or ""W""を入力してください")

GoTo again

ENDSWITCH

END FUNCTION

関連項目

EnlargedView, FacingView, FullPageView, GetViewLevel, LayoutMode, WorkingView


StatusBarMsg

説明

プログラムの状態行にメッセージを表示します。

マクロは停止せず、空文字列 ("") の引数を付けてこの関数を呼んでリセットするまでメッセージは表示されています。

構文

StatusBarMsg(Msg)

Msg はプログラムの状態行に表示される文字列です。空文字列 ("") ならば既定の Ami Pro の状態行に戻ります。

戻り値

1 (TRUE) 	メッセージが表示されたとき

-2 (GeneralFailure) 	メッセージが表示できなかったとき

例

FUNCTION Example()

IgnoreKeyboard(1)

HourGlass(1)

StatusBarMsg("TIFFﾌｧｲﾙ呼び出し中....")

DocDir = GetDocPath$()

ImportPicture("TIFF", "{DocDir}AMILOGO.TIF", ".TIF", 0)

StatusBarMsg("")

HourGlass(0)

IgnoreKeyboard(0)

END FUNCTION

関連項目

Hourglass, IgnoreKeyboard, Message


strcat
strcat$

説明

長い文字列を作るために文字列を連結します。いくつの文字列でも１度に連結できます。

構文

strcat$(Text1,Text2[,Text3,...])

Text1 は Text2 が連結される文字列です。

Text2 は Text1 に連結する文字列です。

Text3 は Text1 と Text2 に連結する文字列です。

戻り値

新しい文字列

例

FUNCTION Example()

MacFile = GetRunningMacroFile$()

SetDlgCallBack(50, "{MacFile}!Message1")

Box = DialogBox(".", "ExampleBox")

IF Box = -1

    Message("Could not find dialog box!")

    EXIT FUNCTION

ELSEIF Box = 0

    EXIT FUNCTION

ENDIF

TYPE(GetDialogField$(8002))

END FUNCTION

FUNCTION Message1(hdlg, id, text)

Name = GetDlgItemText(hdlg, 8000)

Message("The contents of the first box are {Name}.")

Message("We will now fill the second box with the inverse of {Name}.")

FOR I = len(Name) to 1 step -1

    Name2 = strcat$(Name2, MID$(Name, I, 1))

NEXT

SetDlgItemText(hdlg, 8002, Name2)

END FUNCTION

DIALOG ExampleBox

-2134376448 8 106 38 160 54 "" "" "Sample Dialog Box"

FONT 12 "System"

50 6 62 12 8000 1350631552 "edit" "" 0

4 6 44 10 1000 1342177280 "static" "Your Name:" 0

50 20 62 12 1003 1342177287 "static" "" 0

4 22 44 10 1002 1342177280 "static" "Reversed:" 0

52 22 58 8 8002 1342177280 "static" "" 0

116 4 40 14 1 1342242817 "button" "OK" 0

116 20 40 14 2 1342242816 "button" "Cancel" 0

100 36 56 14 50 1342242816 "button" "&Run Example..." 0

END DIALOG

関連項目

ASC, strchr, LCASE$, UCASE$, strfield$, MID$, LEN, FormatNum$


strchr

説明

文字列の中で指定の文字を検索します。文字列内の見つかった位置を返します。

構文

strchr(Offset,Text,Char)

Offset は探し始める文字列中の位置です。Offset は１からで、文字列の先頭から探すときは１を使います。

Text は検索の対象文字列です。

Char は検索文字です。

戻り値

文字が見つかったときは文字列内の文字の位置

文字が見つからなかったときは -1 を返します。

例

FUNCTION Example()

String=Query$("半角英数字文字列を入力してください")

Offset=1

Char=Query$("どの文字を検索しますか")

Position=Strchr(Offset, String, Char)

if Position > 0

Message("{Position}文字目にありました")

else

Message("{Char}を見つけることができませんでした")

endif

END FUNCTION

関連項目

ASC, CHR$, strcat$, LCASE$, UCASE$, strfield$, MID$, LEN, FormatNum$, Instr, Right$, Left$


strfield
strfield$

説明

区切られた文字列の項目から個々の項目を抽出ます。この関数は変数の長さの項目が独自の文字でそれぞれ他とは分れている単純なレコード形式であると仮定します。

構文

strfield$(Text,Fieldnum,Separator)

Text はどこからどこまで項目が抽出されるかを表す文字列です。

Fieldnum は抽出される項目数です (1 = 最初の項目) 。

Separator は項目を区切る文字です。

戻り値

抽出された項目

－１　文字列内の項目数が足りないとき

空白の文字列 ("")指定した項目が空のとき

例

FUNCTION Example()

unit=1440 * 0.3937'Twips / cm

Mode = GetMode()

IF Mode != 1

LayoutMode()

ENDIF

IF Decide("現在のカーソル位置に”枠”を作成してもいいですか？","枠作成")

Position = CursorPosition$()

X = strfield$(Position, 1, ",")

Y = strfield$(Position, 2, ",")

X2 = X + (Query$("幅は何cmにしますか？") * unit)

Y2 = Y + (Query$("高さは何cmにしますか", "1") * (unit * -1))

AddFrame(X, Y, X2, Y2)

ELSE

AddFrameDLG

ENDIF

IF Mode = 48

type("[CtrlHome]")

OutlineMode()

ELSEIF Mode = 16

type("[CtrlHome]")

DraftMode()

ENDIF

END FUNCTION

関連項目

ASC, CHR$, strcat$, strchr, LCASE$, UCASE$, MID$, LEN, FormatNum$


StyleManageAction

説明

段落スタイルを管理するために使います。

メニューで <スタイル(S) スタイル管理(N)> を選ぶことと同じです。

StyleManageInit をこの関数より前に使います。StyleManagement はこの関数のすぐ後で使います。

構文

StyleManageAction(StyleName,Action,FuncNo)

StyleName は管理される段落スタイルの名前です。

Action は実行する機能を設定するフラグです。

次の値の中から１つを指定します。

FuncNo (1) - 段落スタイルにファンクションキーを割り当てる。

DocToSty (2) - 段落スタイルを文書からスタイルシートに移動する。

StyToDoc (4) - 段落スタイルをスタイルシートから文書に移動する。

Remove (8) - 段落スタイルを削除する。文書のスタイルリストから段落スタイルを削除したり、スタイルシートのスタイルリストから本体以外のスタイルを削除できる。

Revert (16) - 段落スタイルに行った変更を取り消す。スタイルはスタイルシートに保存した形式情報も返す。

StyList (32) - 段落スタイルがスタイルシートに影響する。

スタイルシート中のスタイルの機能番号を削除、復帰、変更をするとき、この値を使います。

FuncNo は StyleName 引数で段落スタイルに割り当てられたファンクションキーです。この数の範囲は２から 16 です。

戻り値

1

例

FUNCTION Example()

StyleManageInit()

StyleManageAction("本文", Revert, 0)

StyleManagement()

StyleManageFinish

END FUNCTION

関連項目

StyleManagement, StyleManageInit, StyleManageFinish


StyleManageFinish

説明

スタイルを管理する StyleManageAction の後で使います。

メニューで <スタイル(S) スタイル管理(N)> を選んで入力した変更を受け入れることと同じです。

この関数は自動的にスタイルの管理はしません。

構文

StyleManageFinish

<スタイル管理(N)> ダイアログボックスを表示してユーザーが段落スタイルを管理するときは StyleManagement を使います。

戻り値

1

例

FUNCTION Example()

StyleManageInit()

StyleManageAction("本文", Revert, 0)

StyleManagement()

StyleManageFinish

END FUNCTION

関連項目

StyleManagement, StyleManageInit, StyleManageFinish


StyleManageInit

説明

スタイル管理の変更のために Ami Pro を準備します。

メニューで <スタイル(S) スタイル管理(N)> を選んで変更を初期化することと同じです。

StyleManageAction の前に使います。

構文

StyleManageInit()

戻り値

1

例

FUNCTION Example()

StyleManageInit()

StyleManageAction("本文", Revert, 0)

StyleManagement()

StyleManageFinish

END FUNCTION

関連項目

StyleManagement, StyleManageAction, StyleManageFinish


StyleManagement

説明

<スタイル管理> ダイアログボックスを表示してユーザーが段落スタイルを管理します。

メニューで <スタイル(S) スタイル管理(N)> を選ぶことと同じです。

この関数は自動的に段落スタイルを管理しません。

構文

StyleManagement

戻り値

1 (TRUE) 	変更が受け入れられたとき

0 (UserCancel) 	中止したとき

例

FUNCTION Example()

StyleManagement

END FUNCTION

関連項目

ModifyStyle, SaveAsNewStyle, UseAnotherStyle, StyleManageInit, StyleManageAction, StyleManageFinish


TableGetRange

説明

Ami Pro が表モードのとき行の始めと終わりを返します。１つのセルまたはセルがないとき、始めの行は終わりの行と同じです。表モードでないときは変数は変更しません。

構文

TableGetRange(&Startrow,&Startcol,&Endrow,&Endcol)

&Startrow は挿入点の行を含む。

&Startcol は挿入点の列を含む。

&Endrow は最後に隠れた行を含む。

&Endcol は最後に隠れた列を含む。

表の中で範囲が選択されているときは、Startrow と Startcol は Endrow と Endcol と異なります。

表モードにいないとき、Startrow 、Startcol 、Endrow 、Endcol は変更されません。

戻り値

1 (TRUE) 	表モードであって変数が更新されたとき

0 (FALSE) 	表モードではなかったとき

例

FUNCTION Example()

'SingleStep(0)

DEFSTR StartRow, StartCol, EndRow, EndCol;

Tables(1, TRUE, 4, 10)

TableLayout(2, TRUE, 1440, 0, 0, 0, TRUE, TRUE, FivePoint, TRUE, TRUE)

WHILE StartRow != 2

    TYPE("[Right]")

    TableGetRange(&StartRow, &StartCol, &EndRow, &EndCol)

WEND

TYPE("[SHIFTRight][SHIFTRight]")

ConnectCells()

TableLines(AllSides, 0, 0, OnePoint, 0)

END FUNCTION

関連項目

Tables, TableLayout


TableLayout

説明

既存の表のレイアウトを設定します。

メニューで <表(B) 表レイアウト修正(L)> を選ぶことと同じです。

構文

TableLayout(ChangeLayout,AutoHeight,ColWidth,ColGutter,RowHeight,RowGutter,CenterTable,LineAround,LineStyle,HonorProtect,SpanPages, DisableMouse)

ChangeLayout はレイアウト修正であることを示すフラグで、いつも２に設定します。

AutoHeight は行高オプションを自動的に可能にするかどうかを示すフラグです。AutoHeight は行の高さを自動的に大きくするときは１、行高を固定にするときは０に設定します。

ColWidth は twips（1 inch = 1440 twips）単位の列の幅です。

ColGutter は twips（1 inch = 1440 twips）単位の列間の幅です。

RowHeight は twips（1 inch = 1440 twips）単位の行の高さです。

自動行高オプションが１に設定されているとき、この値は設定されたまま無視されます。

RowGutter は twips（1 inch = 1440 twips）単位の行間の高さです。

ColWidth、ColGutter、RowHeight、RowGutter は列、行、間隔の適当な幅を設定します。twips の値はインチの数に 1440 を掛けて求めます。

CenterTable は表を余白の中央に置くかどうかを設定するフラグです。

1 (On) 表をページの中央に置く

0 (Off) 表をページの中央に置かない

表が枠の中にあるとき、引数は設定されたまま無視されます。

LineAround は外枠線を引くかどうかを示すフラグです。

1 (On) 外枠線を引く

0 (Off) 外枠線を引かない

LineStyle は外枠線に使う段落スタイルで、次の中から１つを指定します。

Hairline (1) - 極細線

OnePoint (2) - １ポイント線

TwoPoint (3) - ２ポイント線

ThreePoint (4) - ３ポイント線

FourPoint (5) - ４ポイント線

FivePoint (6) - ５ポイント線

SixPoint (7) - ６ポイント線

DoubleOnePoint (8) - １ポイント線２本

DoubleTwoPoint (9) - ２ポイント線２本

ThreeLines (10) - 極細線が２ポイント線の上下に付く３本線

HairBelow (11) - 極細線が３ポイント線の下に付く２本線

HairAbove (12) - 極細線が３ポイント線の上に付く２本線

DotHairline (13) - 極細の点線

DotOnePoint (14) - １ポイントの点線

DotTwoPoint (15) - ２ポイントの点線

DashHairline (16) - 極細の破線

DashOnePoint (17) - １ポイントの破線

DashTwoPoint (18) - ２ポイントの破線

DsdotHairline (19) - 極細の一点破線

DsdotOnePoint (20) - １ポイントの一点破線

DsdotTwoPoint (21) - ２ポイントの一点破線

DsddHairLine (28) - 極細の二点波線

DsddOnePoint (29) - １ポイントの二点波線

DsddTwoPoint (30) - ２ポイントの二点波線

WaveOnePoint (37) - １ポイントの波線

WaveTwoPoint (38) - ２ポイントの波線

DWaveOnePoint (39) - １ポイントの二重波線

DWaveTwoPoint (40) - ２ポイントの二重波線

Slant1 (41) - 太い縄目線

Slant2 (42) - 縄目線

Dots (43) - 中点線

Star (60) - 星のデザインの飾り線

Rope (61) - 縄のデザインの飾り線

Deco1 (62) - アールデコ調の飾り線１

Deco2 (63) - アールデコ調の飾り線２

Circle (64) - 円を型取った飾り線

Memo (90) - メモのデザインの飾り線

Rose (91) - 薔薇のデザインの飾り線

Sunflower (92) - ひまわりのデザインの飾り線

Deco3 (93) - アールデコ調の飾り線３

外枠線を引かないとき、この引数は設定されますが、値は無視されます。

HonorProtect は表に保護を与えるかどうかを示すフラグで次のどちらかを指定します。

1 (On) 表編集不可能にする保護としてセルにマークする

0 (Off) 編集可能にする

SpanPages はセルのデータを行全体を次ページに移動することなしに次ページに続けるかどうかを示すフラグです。

SpanPages を１に設定するときは AutoHeight も１に設定します。

1 (On) 行がページをまたぐ

0 (Off) 行がページをまたがない

DisableMouse はマウスで表の列や行のサイズを調整するかどうかを示すフラグです。

1 (Yes)マウスで調節できない

0 (No) マウスで調節できる

TableLayout は、ダイアログボックスを表示して引数を指定する場合に使います。

戻り値

1 (TRUE) 	表のレイアウトが変更されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	レイアウトが変更できなかったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

New("jdefault.sty",1,0)

Tables(16385,1,4,5)

TableLayout(2,1,1701,113,270,85,1,1,13,0,0,1)

END FUNCTION

関連項目

ProtectCells, Tables, TableLines


TableLines

説明

セルやセルグループの罫線/影付きのオプションを設定します。

メニューで <表(B) 罫線/背景色(N)> を選ぶことと同じです。

構文

TableLines(LineOn,LineOff,NoChange,LineStyle,ShadeStyle)

LineOn はセルのどこの側面に新しい罫線または背景に色を付けるかを設定するフラグで、次の中から１つまたは組み合せて指定します。

AllSides (1) - 格子

Outline (2) - 外枠

LeftSide (4) - 左側

RightSide (8) - 右側

TopSide (16) - 上側

BottomSide (32) - 下側

CellShade (64) - 背景色

組み合わせて指定するときは加算します。

LineOff はセルのどこの側面に新しい罫線または背景に色を付けないかを示すフラグで、次の中から１つまたは組み合わせて指定します。

AllSides (1) - 全部

Outline (2) - 外枠

LeftSide (4) - 左側

RightSide (8) - 右側

TopSide (16) - 上側

BottomSide (32) - 下側

CellShade (64) - 背景色

組み合わせて指定するときは加算します。

NoChange はセルのどこの側面を元のまま残して置くかを設定します。次の中から１つまたは組み合わせて指定します。

None (0) - なし

AllSides (1) - 全面

Outline (2) - 外枠

LeftSide (4) - 左側

RightSide (8) - 右側

TopSide (16) - 上側

BottomSide (32) - 下側

CellShade (64) - 背景色

組み合わせて指定するときは加算します。

LineOn、LineOff、NoChange 引数はセルの各側面のチェックボックス状態を選択するのと同じです。

LineStyle は罫線段落スタイルを設定するもので、次の中から１つを指定します。

Hairline (1) - 極細線

OnePoint (2) - １ポイント線

TwoPoint (3) - ２ポイント線

ThreePoint (4) - ３ポイント線

FourPoint (5) - ４ポイント線

FivePoint (6) - ５ポイント線

SixPoint (7) - ６ポイント線

DoubleOnePoint (8) - １ポイント線２本

DoubleTwoPoint (9) - ２ポイント線２本

ThreeLines (10) - 極細線が２ポイント線の上下に付く３本線

HairBelow (11) - 極細線が３ポイント線の下に付く２本線

HairAbove (12) - 極細線が３ポイント線の上に付く２本線

DotHairline (13) - 極細の点線

DotOnePoint (14) - １ポイントの点線

DotTwoPoint (15) - ２ポイントの点線

DashHairline (16) - 極細の破線

DashOnePoint (17) - １ポイントの破線

DashTwoPoint (18) - ２ポイントの破線

DsdotHairline (19) - 極細の一点破線

DsdotOnePoint (20) - １ポイントの一点破線

DsdotTwoPoint (21) - ２ポイントの一点破線

DsddHairLine (28) - 極細の二点波線

DsddOnePoint (29) - １ポイントの二点波線

DsddTwoPoint (30) - ２ポイントの二点波線

WaveOnePoint (37) - １ポイントの波線

WaveTwoPoint (38) - ２ポイントの波線

DWaveOnePoint (39) - １ポイントの二重波線

DWaveTwoPoint (40) - ２ポイントの二重波線

Slant1 (41) - 太い縄目線

Slant2 (42) - 縄目線

Dots (43) - 中点線

Star (60) - 星のデザインの飾り線

Rope (61) - 縄のデザインの飾り線

Deco1 (62) - アールデコ調の飾り線１

Deco2 (63) - アールデコ調の飾り線２

Circle (64) - 円を型取った飾り線

Memo (90) - メモのデザインの飾り線

Rose (91) - 薔薇のデザインの飾り線

Sunflower (92) - ひまわりのデザインの飾り線

Deco3 (93) - アールデコ調の飾り線３

ShadeStyle は背景色の種類を設定し、次の中から１つを指定します。

BlackShade (1) - 黒の背景

SeventyFiveShade (2) - 75％黒

FiftyShade (3) - 50％黒

TwentyFiveShade (4) - 25％黒

TenShade (5) - 10％黒

BlueShade (6) - 青の背景

RedShade (7) - 赤の背景

MagentaShade (8) - 赤紫の背景

GreenShade (9) - 緑の背景

YellowShade (10) - 黄色の背景

CyanShade (11) - 水色の背景

WhiteShade (12) - 白の背景

背景色がセルに適用されていないとき、この引数は設定されますが値は無視されます。

TableLines は、ダイアログボックスを表示して引数を指定する場合に使います。

戻り値

1 (TRUE) 	セルの罫線と背景色が変更されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	罫線が変更できなかったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

DEFSTR StartRow, StartCol, EndRow, EndCol;

Tables(1, TRUE, 4, 10)

TableLayout(2, TRUE, 1440, 0, 0, 0, TRUE, TRUE, FivePoint, TRUE, TRUE)

WHILE StartRow != 2

TYPE("[Right]")

TableGetRange(&StartRow, &StartCol, &EndRow, &EndCol)

WEND

TYPE("[SHIFTRight][SHIFTRight]")

ConnectCells()

TableLines(AllSides, 0, 0, OnePoint, 0)

END FUNCTION

関連項目

TableLayout, Tables


Tables

説明

指定の引数で表を作成します。

メニューで <ツール(L) 表(B)> を選ぶことと同じです。

構文

Tables(Which,AutoHeight,[,ColWidth,GutWidth,RowHeight,GutHeight,Center,LineAround,LineStyle,HonorProtection,SpanPages],NumCols,NumRows)

Which は処理を指定するフラグで、次のどちらかを指定します。

TableOnly (1) - 表のみを作成する。

TableLayout (3) - 表を作成してレイアウト情報を設定する。

AutoHeight は新しいファイルの行の高さを自動かどうかを、1 (On) または 0 (Off) のどちらかで設定します。

ColWidth は列の twips（1 inch = 1440 twips）単位の幅です。

GutWidth は列間の twips（1 inch = 1440 twips）単位の幅です。

RowHeight は列の twips（1 inch = 1440 twips）単位の高さです。

この引数は AutoHeight が１にセットされているときは無視されます。

GutHeight は行間の twips（1 inch = 1440 twips）単位の高さです。

Center は表を余白の中央に置くかどうかを設定します。1 (On) または 0 (Off) のどちらかで設定します。

表が枠の中にあるとき、この引数は無視されます。

LineAround は表の回りに罫線を引くかどうかを 1 (On) または 0 (Off) のどちらかで設定します。

LineStyle は LineAround が 1 にセットされているとき表の回りに引く罫線のスタイルで、次の中からひとつ選択します。

Hairline (1) - 極細線

OnePoint (2) - １ポイント線

TwoPoint (3) - ２ポイント線

ThreePoint (4) - ３ポイント線

FourPoint (5) - ４ポイント線

FivePoint (6) - ５ポイント線

SixPoint (7) - ６ポイント線

DoubleOnePoint (8) - １ポイント線２本

DoubleTwoPoint (9) - ２ポイント線２本

ThreeLines (10) - 極細線が２ポイント線の上下に付く３本線

HairBelow (11) - 極細線が３ポイント線の下に付く２本線

HairAbove (12) - 極細線が３ポイント線の上に付く２本線

DotHairline (13) - 極細の点線

DotOnePoint (14) - １ポイントの点線

DotTwoPoint (15) - ２ポイントの点線

DashHairline (16) - 極細の破線

DashOnePoint (17) - １ポイントの破線

DashTwoPoint (18) - ２ポイントの破線

DsdotHairline (19) - 極細の一点破線

DsdotOnePoint (20) - １ポイントの一点破線

DsdotTwoPoint (21) - ２ポイントの一点破線

DsddHairLine (28) - 極細の二点波線

DsddOnePoint (29) - １ポイントの二点波線

DsddTwoPoint (30) - ２ポイントの二点波線

WaveOnePoint (37) - １ポイントの波線

WaveTwoPoint (38) - ２ポイントの波線

DWaveOnePoint (39) - １ポイントの二重波線

DWaveTwoPoint (40) - ２ポイントの二重波線

Slant1 (41) - 太い縄目線

Slant2 (42) - 縄目線

Dots (43) - 中点線

Star (60) - 星のデザインの飾り線

Rope (61) - 縄のデザインの飾り線

Deco1 (62) - アールデコ調の飾り線１

Deco2 (63) - アールデコ調の飾り線２

Circle (64) - 円を型取った飾り線

Memo (90) - メモのデザインの飾り線

Rose (91) - 薔薇のデザインの飾り線

Sunflower (92) - ひまわりのデザインの飾り線

Deco3 (93) - アールデコ調の飾り線３

HonorProtection は表の内側に保護をかけるかどうかを 1 (On) または 0 (Off) のどちらかで設定します。

SpanPages は行がページをまたぐか (On) 、または改ページで分けて保存するか (Off) を設定します。

NumCols は表に設定する列数です。

NumRows は表に設定する行数です。

戻り値

1 (TRUE) 	表が作成されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	表が作れなかったとき

例

FUNCTION Example()

DEFSTR StartRow, StartCol, EndRow, EndCol;

Tables(1, TRUE, 4, 10)

TableLayout(2, TRUE, 1440, 0, 0, 0, TRUE, TRUE, FivePoint, TRUE, TRUE)

WHILE StartRow != 2

TYPE("[Right]")

TableGetRange(&StartRow, &StartCol, &EndRow, &EndCol)

WEND

TYPE("[SHIFTRight][SHIFTRight]")

ConnectCells()

TableLines(AllSides, 0, 0, OnePoint, 0)

END FUNCTION

関連項目

AddFrame, TableLayout, TableLines


TabRulerInsert

説明

タブルーラーを挿入します。

メニューで <ページ(P) ルーラー(R) 挿入(I)> を選ぶことと同じです。

構文

TabRulerInsert()

戻り値

1 (TRUE) 	ルーラーが挿入されたとき

この関数は <ページ(P) ルーラー(R) 挿入(I)> が淡色表示のとき呼ばれると、マクロを終了してエラーメッセージを表示します。

例

FUNCTION Example()

TabRulerInsert()

END FUNCTION

関連項目

ModifyLayout, FloatingHeader, TabRulerRemove


TabRulerRemove

説明

タブルーラーを削除します。

メニューで <ページ(P) ルーラー(R) 削除(R)> を選ぶことと同じです。

構文

TabRulerRemove()

戻り値

1 (TRUE) 	ルーラーが削除されたとき

この関数は <ページ(P) ルーラー(R) 削除(R)> が淡色表示のとき呼ばれると、マクロを終了してエラーメッセージを表示します。

例

FUNCTION Example()

TabRulerRemove()

END FUNCTION

関連項目

ModifyLayout, FloatingHeader, TabRulerInsert


Thesaurus

説明

<シソーラス> ダイアログボックスを表示して、シソーラスで選択した語を調べます。

メニューで <ツール(L) シソーラス(T)> を選ぶことと同じです。この関数はシソーラスを自動的には使わず、マクロの中では使えません。

構文

Thesaurus()

戻り値

0

例

FUNCTION Example()

Thesaurus()

END FUNCTION

関連項目

SpellCheck


TileWindow

説明

複数の MDI 文書のウィンドウをタイル表示します。

メニューで <ウィンドウ(W) タイル表示(T)> を選ぶことと同じです。

構文

TileWindow()

戻り値

なし

例

FUNCTION Example()

Text = UCASE$(Left$(Query$("What action to take (Tile, Cascade, New, Select) on MDI Windows?"), 1))

SWITCH Text

CASE "T"

TileWindow()

CASE "C"

CascadeWindow()

CASE "N"

NewWindow()

CASE "S"

SelectWindow(Query$("Name of window to select (Name must match EXACTLY)?"))

default

Message("Only the proposed options are available.")

ENDSWITCH

END FUNCTION

関連項目

CascadeWindow, NewWindow, NextWindow, SelectWindow


ToggleIconBar

説明

アイコンパレットを表示位置を指定したり、非表示にしたりします。

パレットが表示されているときは非表示にし、表示されていないときは表示します。

<ツール(L) アイコンパレット(I) スマートアイコンを表示する(S)> を選択することと同じです。

構文

ToggleIconBar()

戻り値

1 (TRUE) 	アイコンパレットの表示を変更したとき

0 (NoAction) 	何も起こらなかったとき

例

FUNCTION Example()

ToggleIconBar()

END FUNCTION

関連項目

ViewPreferences, HideIconBar, ShowIconBar, ToggleStylesBox, ToggleTabRuler


ToggleStylesBox

説明

スタイルボックスを表示、非表示を切り替えます。

スタイルボックスが表示されているときは非表示にし、表示されていないときは表示します。<表示(V) スタイルボックス表示(B)> あるいは <表示(V) スタイルボックス非表示(B)> を選択することと同じです。

構文

ToggleStyleBox()

戻り値

1

例

FUNCTION Example()

ToggleStylesBox()

END FUNCTION

関連項目

ViewPreferences, HideStylesBox, ShowStylesBox, ToggleIconBar, ToggleTabRuler


ToggleTabRuler

説明

タブルーラーを表示、非表示を切り替えます。タブルーラーが表示されているときは非表示にし、表示されていないときは表示します。メニューで <表示(V) ルーラー表示(R)> または <表示(V) ルーラー非表示(R)> を選ぶことと同じです。

構文

ToggleTabRuler()

戻り値

1

例

FUNCTION Example()

ToggleTabRuler()

END FUNCTION

関連項目

ViewPreferences, HideTabRuler, ShowTabRuler, ToggleIconBar, ToggleStylesBox


TopOfFile

説明

挿入点を移動せずに文書ファイルの先頭へスクロールします。

マウスを使って垂直スクロールバーのスクロールボックスを１番上にドラッグするのと同じです。

構文

TopOfFile()

戻り値

0

例

FUNCTION Example()

Action = Query$("Move to (T)op of file, or (E)nd of file?")

Action = UCASE$(Left$(Action, 1))

SWITCH Action

CASE "T"

message(TopOfFile())

CASE "E"

message(EndOfFile())

default

Message("""T"" or ""E"" will do just fine, please.")

ENDSWITCH

END FUNCTION

関連項目

CharLeft, CharRight, EndOfFile, LeftEdge, LineDown, LineUp, RightEdge, ScreenDown, ScreenLeft, ScreenRight, ScreenUp


Truncate

説明

数値の小数点以下を切り捨て、整数を返します。

構文

Truncate(Value)

Value は評価する数値です。

戻り値

引数の値の整数部分

例

FUNCTION Example()

Number = 123.4455682

Message(Truncate(Number))

END FUNCTION

関連項目

Round, Mod, IsNumeric


ToMenuASCII

説明

指定された文字列中にある、メニューのショートカットキーを表す８進数のコントロールコードを "\xxx" の形式の文字列に変換します。

構文

ToMenuASCII$(Text)

Text は変換する文字列です。

戻り値

変換された文字列

例

ToMenuASCII$("ファイル（？F？ﾌ）")

最初の？に Oxle、２番目の？に 0xlf が入っている場合、

"ファイル(\036F\037ﾌ)" という文字列が返ってきます。


ToMenuBinary

説明

指定された文字列中にある、メニューのショートカットキーを表す￥マークで始まる部分 "\xxx" を８進数の規則に従ってコントロールコードに変換します。

構文

ToMenuBinary$(Text)

Text は変換する文字列です。

戻り値

変換された文字列

例

FUNCTION Example()

Again:

Action = Query$("どこを表示しますか。T:先頭ページ E:最終ページ")

Action = UCASE$(Left$(Action, 1))

SWITCH Action

 CASE "T"

  TopOfFile()

 CASE "E"

  EndOfFile()

 default

  Message("""T"" 又は ""E"" を指定してください")

  goto Again

ENDSWITCH

END FUNCTION


TYPE

説明

現在の Ami Pro 文書に情報を入力します。

挿入点の移動キーやファンクションキーも入力します。

構文

TYPE(text)

Text は文書に入力する文字列です。Text はキーボードの文字でもかまいません。

文字列内の属性または変数は文書に入力できません。

左波カッコを挿入するときは２つの波カッコ ({{) を、左角カッコを挿入するときは２つの角カッコ ([[) を入力します。

ダブルコーテーションマークを挿入するときは２つのダブルコーテーションマーク ("") を入力します。

Text は変数名を含むことができます。変数名を使うとき、変数名として認識できるように波カッコ ({}) でくくります。

Text は挿入点の移動キーやファンクションキーを含むこともできます。

キーを入力するとき、その名前を角カッコでくくります。

挿入点の移動キーやファンクションキーはシフト状態を示す CTRL、SHIFT、ALT を含むことができ、次のキー名が使えます。

[Home] - ホーム

[End] - エンド

[PgUp] - 前頁

[PgDn] - 次頁

[Ins] - 挿入

[Del] - 削除

[Backspace] - 後退

[Enter] - リターン

[Tab] - TAB

[ESC] - ESC

[Up] - 上矢印

[Down] - 下矢印

[Left] - 左矢印

[Right] - 右矢印

[F1] - [F12] - ファンクションキー

戻り値

なし

例

FUNCTION Example()

TYPE("NumberCharacter[Enter]")

FOR I = 1 to 255

Char = CHR$(I)

TYPE("{I}={Char}[Enter]")

NEXT

END FUNCTION

関連項目

FormatNum$, CurChar$, CurWord$, CurShade$


TypeOver

説明

上書きモードをオンまたはオフに切り換えます。

挿入キーを押すことと同じです。

構文

TypeOver()

戻り値

1 (TRUE) 	モードが変更されたとき

0 (NoAction) 	変更されなかったとき

例

FUNCTION Example()

TypeOver()

END FUNCTION


UCASE
UCASE$

説明

小文字を大文字に変更します。句読点や数字は変更しません。

構文

UCASE$(Text)

Text は大文字に変更する文字列です。

戻り値

すべて大文字の文字列

例

FUNCTION Example()

Name = UCASE$(Query$("What is your name?"))

Message(Name)

END FUNCTION

関連項目

ASC, CHR$, strcat$, LCASE$, strfield$, MID$, LEN, FormatNum$


Underline

説明

指定文字列や入力した文字に下線を付けたり消したりします。

メニューで <文字(T) 下線(U)> を選ぶことと同じです。

構文

Underline()

戻り値

1 (TRUE) 	文字に下線が付加されたか、または消去されたとき

-2 (GeneralFailure) 	変更されなかったとき

例

FUNCTION Example()

String = "文字属性を変更したテキストの表示例です。  ABC  abc  12345  ｶﾀｶﾅ[Enter]"

NormalText()

TYPE("標準  ...[Enter]{String}")

BOLD()

TYPE("太字  ...[Enter]{String}")

BOLD()

Italic()

TYPE("斜体  ...[Enter]{String}")

Italic()

Underline()

TYPE("下線  ...[Enter]{String}")

Underline()

WordUnderline()

TYPE("単語下線  ...[Enter]{String}")

WordUnderline()

Bold()

Underline()

Italic()

TYPE("太字,  下線,  斜体  ...[Enter]{String}")

NormalText()

TYPE("標準  ...[Enter]{String}")

END FUNCTION

関連項目

Bold, Italic, NormalText, WordUnderline


Undo

説明

直前に実行した編集機能を取り消して前の状態に戻します。

メニューで <編集(E) アンドゥ(U)> を選ぶことと同じです。

構文

Undo()

戻り値

1 (TRUE) 	編集前に戻ったとき

0 (NoAction) 	何も起こらなかったとき

例

FUNCTION Example()

Undo()

END FUNCTION


UpperCase

説明

指定文字や入力した文字を大文字または小文字に変更します。

メニューで <文字(T) 大文字/小文字(C) 大文字(U)> を選ぶことと同じです。

構文

UpperCase()

戻り値

1 (TRUE) 	属性が変更されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	属性が変更されなかったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

UpperCase()

END FUNCTION

関連項目

InitialCaps, LowerCase, SmallCaps


UseAnotherStyle

説明

画面上の文書に新しい段落スタイルシートを選択します。

メニューで <スタイル(S) 別スタイルシート使用(U)> を選ぶことと同じです。

構文

UseAnotherStyle(Name, Option)

Name は使用する新しい段落スタイルシートの名前です。

Options は別スタイルシート使用のダイアログボックスでスタイルシートの名前を表示する形式を示すフラグです。

(1) - 説明文付きのスタイルシートを表示する

(2) - スタイルシートファイル名を表示させる

ダイアログボックスを表示して引数を指定する場合は UseAnotherStyle を使います。

戻り値

1 (TRUE) 	段落スタイルシートが変更されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	変更できなかったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

UseAnotherStyle("~MACRO.STY")

END FUNCTION

関連項目

ModifyStyle, SaveAsNewStyle, SelectStyle, SetStyle


UserControl

説明

指定した文字列、<再開>ボタン、<取消>ボタンがついていて、Windows のモードがない、<マクロ一時停止> というダイアログボックスを表示します。ユーザーは通常の Ami Pro 関数を実行するためにこのダイアログボックスの外側をクリックできます。

このダイアログボックスが表示された場合、実行を続けるときは<再開>ボタンを、取り消すときは<取消>ボタンをクリックします。

このダイアログボックスを削除するにはマウスが必要です。

構文

UserControl(Prompt)

Prompt はガイドとして表示する最大 80文字までの文字列です。

戻り値

なし

ユーザーが中止したとき、制御は ONCANCEL 文で定義されたルーチンに移ります。

例

FUNCTION Example()

UserControl("”再開”をｸﾘｯｸすると”ｺﾝﾄﾛｰﾙﾊﾟﾈﾙ”を起動します")

ControlPanel

UserControl("”再開”をｸﾘｯｸすると”ｺﾝﾄﾛｰﾙﾊﾟﾈﾙ”を終了します")

AppClose("コントロール パネル")

END FUNCTION

関連項目

Decide, DialogBox, IgnoreKeyboard, Message, Messages, MultiDecide, Query$, SingleStep


UserSetup

説明

Ami Pro の環境の既定値を設定します。

メニューで <ツール(L) 環境設定(U)> を選ぶことと同じです。

構文

UserSetup(UndoLevel,SaveTime,Options,Flag,UserName,UserInitials,Color,LoadMacroName,ExitMacroName,MacroOptions,RecentFiles)

UndoLevel はアンドゥのレベルです (0 ～ 4) 。

SaveTime は分単位のバックアップ間隔です。

Options は他の既定のオプションを含むフラグです。次の中から１つを指定します。

NoUndo (0) - アンドゥなし

Undo1 (2) - アンドゥレベル １

Undo2 (4) - アンドゥレベル ２

Undo3 (8) - アンドゥレベル ３

Undo4 (16) - アンドゥレベル ４

DisableOneLine (32) - １行ヘルプ表示停止

BackupOn (128) - 自動バックアップ作成

TimedSaveOn (256) - バックアップ間隔設定

DisableWarn (2048) - 警告表示停止

Flag は現在使っていないので０を設定します。

UserName は文書の保護機能に使用するユーザーの名前です。

UserInitials はメモ関数に使用するユーザーの頭文字です。

Color は注釈の色で次の中から１つを指定します。

White (16777215) - 白

Cyan (16776960) - 水色

Yellow (65535) - 黄色

Magenta (16711935) - 赤紫

Green (65280) - 緑

Red (255) - 赤

Blue (16711680) - 青

Black (0) - 黒

LoadMacroName は Ami Pro を起動したとき自動実行するマクロ名です。

ExitMacroName は Ami Pro が終了したとき自動実行するマクロ名です。

MacroOptions は起動と終了のマクロの実行を設定し、次の中から１つを指定します。

NoMacroRun (0) - 起動マクロも終了マクロも実行しない。

MacroLoad (2) - Ami Pro を起動したとき LoadMacroName に指定したマクロを実行する。

MacroExit (4) - Ami Pro が終了したとき ExitMacroName に指定したマクロを実行する。

RecentFiles はファイルメニューに載せる直前ファイルの数です。

ダイアログボックスを表示してユーザーが既定値を選択するときは UserSetup を使用します。

戻り値

1 (TRUE) 	既定値が設定されたとき

0 (UserCancel) 	中止したとき

例

FUNCTION Example()

UserSetup(4, 0, 0, 0, "Your Name", "YIN", 65535, "", "", 0, 0)

END FUNCTION

関連項目

ViewPreferences


UsingHelp

説明

Ami Pro のオンラインヘルプを表示します。

メニューで <ヘルプ(H) ヘルプの使い方(U)> を選ぶことと同じです。

この関数は自動的にヘルプトピックの選択はしません。

ユーザーは選択したい項目にヘルプを移動する通常の方法でヘルプシステムを使えます。

ヘルプは通常の Ami Pro ウィンドウとは別のウィンドウに表示し、Ami Pro ウィンドウの再表示を起こすマクロ関数は Ami Pro ウィンドウによってヘルプウィンドウを置き換えます。

この関数は、マクロの最後で使います。

構文

UsingHelp()

戻り値

1 (TRUE) 	ヘルプウィンドウが表示されたとき

-2 (GeneralFailure) 	ヘルプウィンドウが何か他の理由で表示できなかったとき

-6 (NoMemory) 	メモリ不足で失敗したとき

例

FUNCTION Example()

UsingHelp()

END FUNCTION

関連項目

About, Help, BasicsHelp, HowDoIHelp, KeyboardHelp, MacroHelp


ViewPreferences

説明

Ami Pro の表示オプションを設定します。

メニューで <表示(V) 表示オプション(P)> を選ぶことと同じです。

構文

ViewPreferences(Options,ViewLevel)

Options は使用する表示オプションで次の中から１つまたは組み合わせて指定します。

ColumnGuides (1) - 段ガイドを表示する

ColorMargin (2) - 余白を表示する

ShowPictures (4) - レイアウトモードで図形を表示する

ShowTabs (8) - タブと改行を表示する

ShowMarks (64) - マークを表示する

ShowGrid (128) - 表モードで表罫線を表示する

ShowRowCol (256) - 表モードで表ボーダーを表示する

ShowVertRuler (512) - レイアウトモードで縦ルーラーを表示する

ShowHorzScroll (1024) - 水平スクロールバーを表示する

ShowNotes (2048) - レイアウトモードでメモマークを表示する

ShowOutlineButtons (16384) - アウトラインモードでアウトラインボタンを表示する

NoDisplayAsPrint (4096) - 印刷イメージオプションを使わない。このオプションを設定すると印刷イメージオプションがオフになり、オプションをオンにする他のフラグとは違います。

複数のオプションを設定するときは、オプションの値を加算します。

ViewLevel は表示サイズに使うユーザー指定の表示レベルです。

ViewLevel は 10 から 400 の間の表示レベルに設定します。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は ViewPreferences を使います。

戻り値

1 (TRUE) 	表示オプションが正しく設定されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	オプションが設定できなかったとき

例

FUNCTION Example()

ViewPreferences((1 + 2 + 4 + 8 + 64 + 128 + 256 + 512 + 2048 + 16384 + 4096), 91)

END FUNCTION

関連項目

SetDefOptions


WordUnderline

説明

下線を引くか引かないかを切り換えます。

メニューで <文字(T) 単語下線(W)> を選ぶことと同じです。

構文

WordUnderline()

戻り値

1 (TRUE) 	下線が引かれたとき、または消されたとき

-2 (GeneralFailure) 	属性が変わらなかったとき

例

FUNCTION Example()

String = "文字属性を変更したテキストの表示例です。  ABC  abc  12345  ｶﾀｶﾅ[Enter]"

NormalText()

TYPE("標準  ...[Enter]{String}")

BOLD()

TYPE("太字  ...[Enter]{String}")

BOLD()

Italic()

TYPE("斜体  ...[Enter]{String}")

Italic()

Underline()

TYPE("下線  ...[Enter]{String}")

Underline()

WordUnderline()

TYPE("単語下線  ...[Enter]{String}")

WordUnderline()

Bold()

Underline()

Italic()

TYPE("太字,  下線,  斜体  ...[Enter]{String}")

NormalText()

TYPE("標準  ...[Enter]{String}")

END FUNCTION

関連項目

Bold, Italic, NormalText, Underline


WorkingView

説明

現在の表示レベルを指定サイズに変更します。

メニューで <表示(V) 指定サイズ(W)> を選ぶことと同じです。

構文

WorkingView()

戻り値

1

例

FUNCTION Example()

Again:

View = Query$("ﾋﾞｭｰﾓｰﾄﾞ選択:(E)拡大ｻｲｽﾞ,(F)ﾍﾟｰｼﾞ全体,(A)見開き,(S)標準ｻｲｽﾞ,(W)指定ｻｲｽﾞ")

View = UCASE$(Left$(View, 1))

SWITCH View

CASE "E"

EnlargedView()

CASE "F"

FullPageView()

CASE "A"

FacingView()

CASE "S"

StandardView()

CASE "W"

WorkingView()

default

Message("""E"", ""F"", ""S"", or ""W""を入力してください")

GoTo again

ENDSWITCH

END FUNCTION

関連項目

EnlargedView, FacingView, FullPageView, GetViewLevel, LayoutMode, StandardView


WriteProfileString

説明

Windows の INI ファイルに入力データを書き込みます。

構文

WriteProfileString(App,Item,Value[,FileName])

App は INI ファイルのセクション名です。空文字列 ("") のときは、[AmiMacro] が設定されます。

Item は追加または変更する入力データの名前です。

Value は INI ファイルに追加または変更するデータです。

FileName は修正するファイル名です。この引数が使われないか、または空文字列 ("") のときは、Windows の WIN.INI が使われます。フルパスが使われていないときは、Windows のサブディレクトリにあるとみなされます。

指定したファイル名が存在しない場合には、新しいファイルを作成し、入力データを新しいファイルに保存します。

戻り値

なし

例

FUNCTION Example()

Name = GetProfileString$("AmiPro", "UserName", "AMIPRO.INI")

FillEdit(8000, Name)

DIM Filters(10)

FOR I = 1 to 10

Filters(I) = strfield$(GetProfileString$("AmiPro", "application{I}", "AMIPRO.INI"), 1, ",")

FillList(Filters(I))

NEXT

FOR I = 1 to 10

FillEdit(9500, Filters(I))

NEXT

FillEdit(50, TRUE)

FillEdit(55, TRUE)

Box = DialogBox(".", "ExampleBox")

IF Box = -1

Message("Could not open dialog box; Exiting macro.")

EXIT FUNCTION

ELSEIF Box = 0

EXIT FUNCTION

ENDIF

Name2 = GetDialogField$(8000)

IF Name != Name2

IF Decide("Do you want to save your changes?")

WriteProfileString("AmiPro", "UserName", Name2, "AMIPRO.INI")

ENDIF

ENDIF

END FUNCTION

DIALOG ExampleBox

-2134376448 14 104 36 198 90 "" "" "Sample Dialog Box"

FONT 12 "System"

4 6 42 10 1000 1342308352 "static" "&User Name:" 0

52 4 92 12 8000 1350631552 "edit" "" 0

4 24 34 8 1001 1342308352 "static" "&Filters:" 0

4 34 66 52 9000 1352728579 "listbox" "" 0

74 24 52 8 1002 1342308352 "static" "&More Filters:" 0

74 34 70 40 9500 1344339971 "combobox" "" 0

74 46 60 40 24 1342308359 "button" "Group Box #1" 0

78 58 50 10 50 1342242825 "button" "Radio #1" 0

78 70 50 10 51 1342177289 "button" "Radio #2" 0

138 46 56 40 25 1342308359 "button" "Group Box #2" 0

142 56 48 12 55 1342242819 "button" "Check #1" 0

142 68 48 12 56 1342177283 "button" "Check #2" 0

154 4 40 14 1 1342373889 "button" "OK" 0

154 20 40 14 2 1342373888 "button" "Cancel" 0

END DIALOG

関連項目

GetProfileString$, 実行時のマクロ検索


マクロエラーとマクロのデバッグ

この章では、マクロのコンパイル時および実行時に表示されるエラーメッセージについて説明します。また、マクロエラーの原因をつかむテクニックや、希望通りにマクロが動くことを明らかにするためにどのようにテストしたらよいかについても述べます。

コンパイル時のエラーメッセージ

マクロのコンパイル中にエラーが起こると、カーソルがエラーの起こった位置で止まり、適切なメッセージが表示されます。マクロは保存されません。エラーの原因をつかみ、マクロを変更し、再コンパイルしてください。最初のエラーが見つかったところでコンパイルは中断しますので、複数個のエラーを見つけるためにも何回もコンパイルすることもあります。

実行時のエラーメッセージ

実行時エラーの取り扱いは、コンパイルしたマクロで SingleStep 関数を使っているどうかで異なります。SingleStep　関数を使っていると、実行時のエラーはエラーメッセージをタイトルとしたメッセージボックスとダイアログボックス内に該当する行を表示します。ユーザーがエラーメッセージを受け取るとマクロはキャンセルされます。

SingleStep 文を使っていないと行の情報はなく、エラーメッセージだけを画面に表示します。ユーザーがエラーメッセージを受け取ると、マクロはキャンセルされます。

マクロ、Ami Pro、Windows などの実行時エラーでは、マクロ内に ONERROR 文がないと実行が中断します。ONERROR 文が使われていると、その文で指定された位置に制御が移ります。

実行時エラーの原因

実行時エラーをトレースしたりデバッグするのはとても難しいものです。

他の人がマクロを利用する場合には、渡す前に正しく動いていることを充分テストして確認しておくとことが必要です。

Ami Pro には、エラーの原因をつかみ、マクロの実行をトレースして何が起こっているかをはっきりと知ることができるツールをいくつか用意しています。

　　SingleStep と IgnoreKeyboard

　　Message

　　Messages

関連項目

SingleStep 関数と IgnoreKeyboard 関数の使用

Message 関数の使用

Messages 関数の使用


SingleStep 関数と IgnoreKeyboard 関数の使用

SingleStep 関数はマクロのデバッグを助けるたいへん強力なツールです。SingleStep 関数を使っていてエラーが起こると、問題が起こった行の情報を知ることができます。SingleStep を使っていないと、エラーメッセージだけが表示されて問題発生の箇所は示されません。

SingleStep 関数はマクロの実行をトレースする時にも役立ちます。

マクロ内に制御文がある場合、制御で使う変数の値が予想と違うと予期せぬ結果が起こることがあります。

Single step モードでは実行中の文が表示されるので、マクロが何を実行していて制御文内の判定が予定通りかどうかをはっきりと知ることができます。

SingleStep 関数の前に定義された変数は表示や変更に対して無効です。また、マクロが中断したときまでに定義されていない変数も無効です。

SingleStep の Step Through feature を使い、次に続く文が Call 関数である場合は、マクロ内の文と呼び出されるマクロはすべて中断されることなく実行されます。

呼び出されたマクロが終了した時には、マクロは再び中断します。次に続く文がマクロ Call でない場合は、Step Through は SingleStep と同様の動きをします。

マクロに SingleStep (0) が設定されていると、マクロ内ではそれは効果がありません。SingleStep (1) だと、マクロは中断されます。

マクロデバッグに役立つその他のツールは、IgnoreKeyboard 、Message 、Messages  関数です。

IgnoreKeyboard 関数はマクロを中断するキーをすべてのキーにするかエスケープキーだけにするかを決めます。

Message 関数はメッセージを画面表示してユーザーが理解するまで待ちます。

Messages 関数は Ami Pro からのメッセージをユーザー向けに表示したのか、それが受け取られたかまたは既定値がとられたかを決めます。

SingleStep 関数がマクロで使われていない場合、マクロの動きを止めるにはキーを押します。キーを押すと、マクロの実行を再開するかキャンセルするかのメッセージが表示されます。IgnoreKeyboard 関数は、既定値のマクロを中止するキーが何でもよいのか、エスケープキーだけなのかを決めます。

SingleStep 関数が使われているときにキーを押してマクロを中止すると、マクロは Single step モードになります。Single step モードでは、マクロの実行を続けたりマクロ実行をキャンセルしたりできます。これにより、永久ループに陥ったマクロで何が起こっているのか知ることができます。

次のマクロでは、永久ループの原因を追及する SingleStep 関数の使い方を説明します。

FUNCTION debug

SingleStep(Off) 'allow debuging

var1 = 1 'initialize var1

var2 = 2 'initialize var2

while (var1 < 10) 'set loop to continue until var1 = 10

   IF (var2 > 0)

       var1 = var1 - 1 'decrement var1 if var2 > 0

   ENDIF

　 var1 = var1 + 1 'increment var1

WEND

END FUNCTION

この例では、var1 の値が10より小さいときにプログラムが繰り返し実行されます。

WHILE ループの最後の文で var1 を増加しているので、マクロは10回繰り返して終了するはずです。

６行目の IF 文では var2 が0より大きいときに var1 の値を１減らしています。

var2 は２なので、var1 はつねに１減らされます。

すなわち var1 は７行目で１減らされ９行目で１加えられるので、このループ内では決して増加することがなく、ループは終了しません。

このマクロが実行されたとき、Ami Pro は砂時計を表示した状態で静止します。SingleSTEP モードを使うと、マクロの実行中にキーを押すことで、続行かキャンセルかの選択ができるだけでなく、ループ処理の状況を見ることができ問題点を見つけることができます。

関連項目

Message 関数の使用

Messages 関数の使用


Message 関数の使用

Message  関数では、マクロ実行中に変数の値を表示することができます。これを使うと、変数の値が予想していた範囲にあるかどうかを判断する手助けになります。次の例を見てください。

FUNCTION testswitch

choice = Query$("Type a number between 1 and 3")

SWITCH choice

  CASE("1")

  　'statements for case 1

　CASE("2")

  　'statements for case 2

　CASE("3")

　　'statements for case 3

　DEFAULT

　　message("Got back {choice} for user's choice")

ENDSWITCH

ENDFUNCTION

この例では、キー入力した値を基にしているマクロを実行するために SWITCH 文を使っています。１１行目の Message 文は、入力値が期待していた範囲ではないときに切り換え値を示すメッセージを表示します。例題はとてもシンプルなので、マクロ内にメッセージを置くことがデバッグに、特に SWITCH 文で検査する値がマクロで決められるものであったり関数の結果であるときは、役立ちます。

関連項目

SingleStep 関数と IgnoreKeyboard 関数の使用

Messages 関数の使用


Messages 関数の使用

Messages 関数は、予期しなかった Ami Pro メッセージに対してマクロが行なう処理を決めます。たとえば新規ファイルをオープンするとき、 Ami Pro は現在のファイルの変更点を保存するかどうかを問い合わせます。Messages 関数を使うことによって、作業を中断することなくこれらのメッセージに対する既定の処理を自動的にマクロが行ないます。

複雑なマクロを開発中の初期段階では、マクロ内の関数が予定通りに働いているかはっきりさせるために、メッセージを表示したままにしたい場合があります。Messages 関数を使うとマクロが正常に動作していることを確認したあとでメッセージをオフにすることができます。

関連項目

SingleStep 関数と IgnoreKeyboard 関数の使用

Message 関数の使用


マクロが中断しました

このメッセージは、SingleStep  関数が使っていてマクロが single step モードで動いているとき、または SingleStep 関数が使っていてユーザーが何かのキーを押したときに表示されます。

実行中の文がダイアログボックス内に表示され、マクロ続行の３つの選択肢が表示されます。

Single-Step を選ぶと次の文が実行されて single step モードを続けるかどうかを再び聞きます。

続行を選んだ場合は、マクロは通常の実行モードで続きます。

取り消しを選んだときには、マクロの実行はキャンセルされます。


実行エラーです
<Number> の実行エラーです

これは内部的なエラーで、表示されることはないはずです。予期せぬ実行時エラーが起こったことを示しています。メッセージが表示されたら、エラー番号を記録して、その後の処理については営業支援部の Ami Pro カスタマーサポートに連絡してください。


マクロを中止しますか

このメッセージは、 SingleStep モードを使わずにマクロを実行している場合に、ユーザーがキーを押したときに表示されます。

[はい(Y)]を選ぶとマクロは取り消され ONCANCEL  文がマクロにあればそこで指定された名札に制御が移ります。ONCANCEL 文がマクロにない場合は、マクロは終了します。[いいえ(N)]を選ぶと、マクロの実行が続きます。


マクロエラーメッセージの説明
マクロのエラーメッセージ

マクロに関する説明文のこの章では、マクロのコンパイル中および実行中に現れるメッセージを、エラーの原因を追求し、どう修正するのかの指示と共に一覧で示します。

ただし、通常の Ami Pro や Windows のエラーメッセージについては述べません。それらについては、ユーザーズガイドで説明しています。

エラーメッセージにはそれぞれ番号が付いています。この番号でエラーをすぐに識別して調べることができます。

この章では３つの状態メッセージを除いて、番号順にエラーメッセージが並んでいます。

<String> <Number> <Filename> など、ギュメ <　> で囲んだ部分は、メッセージが画面に表示されるときにエラーの原因の実際の文、ファイル名、番号などに置き換えられます。

エラー修正の指示を読むには、エラーメッセージの番号をクリックしてください。

マクロエラーメッセージ 1-40

マクロエラーメッセージ 41-80

マクロエラーメッセージ 81-120

マクロエラーメッセージ 121-End

番号なしのエラーメッセージ

マクロが中断しました

実行エラーです

マクロを中止しますか


マクロプログラムのステートメント

Ami Pro マクロ言語で使うステートメントの一覧です。

使い方を見るには、ステートメント名をクリックしてください。

BREAK

CALL

CALLI

DECLARE

DEFSTR

DIM

END FUNCTION

EXIT FUNCTION

FOR

FUNCTION

GOTO

IF

LABEL

LET

ONCANCEL

ONERROR

SWITCH

WHILE


エラー 1
エラー 1:

関数の形式が正しくありません。

使用した関数の形式が正しくありません。

関数名の後と関数の最後のカッコが抜けていないか、またはカッコ内に使用できない文字を入れていないか調べてください。


エラー 2
エラー 2: 文字 <Name> が認識できません。

挿入点の文字が、マクロコンパイラで認識できません。

変数名ならば、定義されているかどうか、関数ならば関数名のスペルが正しいかどうか調べてください。


エラー 3
エラー 3: メモリ不足です。

マクロをコンパイルするにはメモリが足りませんでした。既存の他のアプリケーションの使用メモリを減らして再実行してください。


エラー 4
エラー 4: <Name> はすでに配列として定義されています。

DIM 文で指定した配列名は、マクロ内のどこかですでに定義されているものでした。別の配列名を使ってください。


エラー 5
エラー 5: 配列名は「）」で終らせます。

配列名を使用するときは、配列の要素数をカッコで囲みます。カッコを付け加えてください。


エラー 6
エラー 6: 配列要素の式が正しくありません。

この配列の要素数が数字でないか、指定した式の結果が正数になっていません。式を正しく直してください。


エラー 7
エラー 7: 式が正しくありません。「）」が抜けていると思われます。

計算式内の開きカッコ 「（」 と閉じカッコ 「）」の数が合いません。カッコの数を数えて修正してください。


エラー 8
エラー 8: 引数の数が正しくありません。

関数に指定した引数の数が間違っています。関数に必要な引数を調べて修正してください。


エラー 9
エラー 9: キーワード <KeyWordName> の位置が正しくありません。

<KeyWordName> はマクロ内のこの位置にあるものではありません。しようとしたことの文法を調べて修正してください。


エラー 10
エラー 10: トークンファイルが読めません。

AMIPRO ディレクトリ内の MACTOKEN.SAM ファイルが壊れているか存在しないことを示しています。このファイルがないと、マクロのコンパイルができません。


エラー 11
エラー 11: FUNCTION の引数の値がすでに定義されています。

FUNCTION 文で使用した引数は、すでに定義されていて、ここでは使用できません。

マクロの引数として関数名か定数を使った可能性があります。文法を調べて修正してください。


エラー 12
エラー 12: FUNCTION 文の形式が正しくありません。

FUNCTION 文の形式が間違っています。

FUNCTION 文の書き方は、<FUNCTION macroname([引数])> です。

macroname は文名や関数にはできません。マクロ名の後にカッコを入れたか、予約語をマクロ名として使ってはいないかを確認してください。


エラー 13
エラー 13: DECLARE 文の形式が正しくありません。

DECLARE 文の形式が間違っています。

DECLARE 文の書き方は、<DECLARE macroname([引数])> です。

マクロ名の後にカッコを入れたか、引数に関数名を使ってはいないかを確認して、マクロを修正してください。


エラー 14
エラー 14: DECLARE 文または CALL 文の形式が正しくありません。

DECLARE 文または CALL 文の形式が間違っています。

DECLARE 文の書き方は、<DECLARE macroname([引数])> です。

CALL 文の書き方は、<CALL macroname([引数])> です。

マクロ名の後にカッコを入れたか、引数に関数名を使ってはいないかを確認して、マクロを修正してください。


エラー 15
エラー 15: 変数名 <VariableName> をここで使うのは適切でありません。

変数名は、マクロのこの位置にあるものではありません。

ここには、変数名ではなく配列名を指定すべきであったかまたは、関数か文の名前の代りに誤って変数名を使ってしまったのかもしれません。

修正してください。


エラー 16
エラー 16: 文字 <String> が認識できません。

挿入点の文字が、マクロコンパイラで認識できません。

変数名ならば、すでに定義されているかどうか、関数ならば関数名のスペルが正しいかどうか調べてください。


エラー 17
エラー 17: END FUNCTION 文が見つかりません。

マクロに END FUNCTION 文がありません。

END FUNCTION 文を挿入してください。


エラー 18
エラー 18: ここには、<Statement> ではなく（が必要です。

IF 文は開きカッコ「（」とIF 文で評価する条件を続けなければなりません。

IF 文を修正してください。


エラー 19
エラー 19: ここには、<Statement> ではなく ENDIF が必要です。

ELSE 文に続いて ELSEIF や ELSE を使うことはできません。

ELSE と ELSEIF 文の順序を替えてください。


エラー 20
エラー 20: ここには、ELSEIF ではなく <Statement> が必要です。

ELSEIF 文の位置が間違っているか、この位置の IF 文でマクロが制御されていません。

ELSIF 条件は IF 文で制御される ELSE および ENDIF 文より前でなければなりません。条件と位置を修正してください。


エラー 21
エラー 21: ここには、ELSE ではなく <Statement> が必要です。

ELSE 文の位置が間違っているか、この時点では IF 文でマクロが制御されていません。

ELSE 条件は ENDIF 文より前にある最後の条件でなければなりません。条件を正しい位置に修正してください。


エラー 22
エラー 22: ここには、ENDIF ではなく <Statement> が必要です。

ENDIF 文の位置が間違っているか、この時点では IF 文でマクロが制御されていません。

ENDIF 文の後には、ELSEIF 文と ELSE 文が必要です。ENDIF 文を正しい位置に修正してください。


エラー 23
エラー 23: ここには、NEXT ではなく <Statement> が必要です。

NEXT 文の位置が間違っているか、この時点では FOR 文でマクロが制御されていません。

NEXT 文を正しい位置に修正してください。


エラー 24
エラー 24: WHILE 文の形式が正しくありません。

WHILE 文の形式が間違っています。

WHILE 文の書き方は、WHILE (式) statement WEND です。WHILE 文の形式を修正してください。


エラー 25
エラー 25: CASE 文は SWITCH 文のあとでなければなりません。

CASE 文の位置が間違っています。

CASE 文は、SWITCH 文と ENDSWITCH 文の間に置きます。DEFAULT 文のあとにはきません。SWITCH ループが正しい形式になっているかどうか調べてください。


エラー 26
エラー 26: 変数名は SWITCH 文のあとでなければなりません。

SWITCH 文は、CASE 文の中で使われている式のうち演算できる文の直後に変数名がくる必要があります。

SWITCH 文に続けて変数名を挿入してください。


エラー 27
エラー 27: ここには、CASE ではなく <statement> が必要です。

CASE 文の位置が間違っています。

CASE 文は SWITCH と ENDSWITCH 文の間で使い、DEFAULT 文のあとにはきません。

SWITCH ループが正しい形式かどうか調べてください。


エラー 28
エラー 28: ここには、DEFAULT ではなく <statement> が必要です。

DEFAULT 文の位置が間違っているか、DEFAULT 文の位置ではマクロが SWITCH/ENDSWITCH 条件を評価していません。DEFAULT 文はすべての CASE 文のあとで、ENDSWITCH 文の直前で使います。SWITCH ループが正しい形式かどうか調べてください。


エラー 29
エラー 29: ここには、ENDSWITCH ではなく <statement> が必要です。

ENDSWITCH 文の位置が間違っているか、ENDSWITCH 文の位置ではマクロが SWITCH/ENDSWITCH 条件を評価していません。

ENDSWITCH 文はすべての CASE 文および DEFAULT 文のあとで使います。SWITCH ループが正しい形式かどうか調べてください。


エラー 30
エラー 30: ここでは、BREAK 文は使えません。

BREAK 文の位置が間違っているか、BREAK 文の位置ではマクロが SWITCH/ENDSWITCH、FOR/NEXT、WHILE/WEND 条件を評価していません。

BREAK 文が FOR/NEXT、SWITCH/ENDSWITCH、WHILE/WEND ループ内にあることを確認してください。


エラー 31
エラー 31: ここには、FUNCTION ではなく <statement> が必要です。

FUNCTION 文の位置が間違っています。FUNCTION 文は、マクロの最初の文でなければなりません。

このマクロがファイル内の最初のものでない場合は、前のマクロが END FUNCTION 文で終了しているかどうか確認してください。

修正してください。


エラー 32
エラー 32: ここには、END FUNCTION ではなく <statement> が必要です。

END FUNCTION 文の位置が間違っています。

END FUNCTION 文は、マクロの最後の文でなければなりません。

END FUNCTION の前に、IF/THEN、WHILE/WEND、SWITCH/ENDSWITCH、FOR/NEXT ループがすべて終了していなければなりません。

修正してください。


エラー 33
エラー 33: CALL 文の形式が正しくありません。

CALL 文の文法が間違っています。

正しい書き方は、CALL <macroname>([引数]) です。macroname のあとにカッコがあり、マクロの引数が正しいことを確認してください。


エラー 34
エラー 34: ラベル <name> が定義されていません。

GOTO 文でラベル <name> を指定しましたが、LABEL がマクロ内に見つかりませんでした。

ラベルのスペルをチェックし、形式を確認してください。


エラー 35
エラー 35: <LabelName> はすでに定義されています。

使用した LABEL はすでにラベルか変数名か関数名として使われています。

ラベルにマクロ内で唯一の名前を付けてください。


エラー 36
エラー 36: 引数の数が正しくありません：関数<functionname>

この関数で、引数が多過ぎるか少な過ぎるかです。文法を確認し引数を修正してください。


エラー 37
エラー 37: DIM 文の形式が正しくありません。

DIM 文で使った形式が間違っています。

正しい書き方は、DIM <arrayname>(count),[arrayname(count)...] です。

文を調べ修正してください。


エラー 38
エラー 38: DEFSTR 文の形式が正しくありません。

DEFSTR 文で使った形式が間違っています。

正しい書き方は、DEFSTR <variablename> [,variablename...] です。

文を調べ修正してください。


エラー 39
エラー 39: 配列の表現が正しくありません。

配列参照のどこかが間違っています。

配列名にはカッコで囲んだ要素数が付きます。要素数は数字か結果が正数となる式でなければなりません。表現を修正してください。


エラー 40
エラー 40: FOR 文のあとには代入が必要です。

FOR 文の形式が間違っています

FOR 文の正しい書き方は、<FOR assignment TO expression [STEP expression]> です。

FOR ループのカウント変数を初期化してください。


エラー 41
エラー 41: FOR 文の中に、TO が必要です。

FOR 文の形式が間違っています。FOR 文の正しい書き方は、FOR assignment TO expression [STEP expression] です。FOR ループのカウント変数を初期化してください。


エラー 42
エラー 42: GOTO 文で使ったラベル名が不適切です。

GOTO 文で使ったラベル名が LABEL ではありませんでした。

Label は、変数名でも関数名でも式でもいけません。ラベル名を修正してください。


エラー 43
エラー 43: DECLARE 文の形式が正しくありません。

DECLARE 文の形式が間違っています。

DECLARE 文の正しい書き方は、DECLARE macroname ([引数]) です。macroname の後にカッコと引数がいくつかあることを確認してください。


エラー 44
エラー 44: ファイル内にマクロが見つかりません。

マクロに FUNCTION 文がありません。

FUNCTION 文を挿入してください。


エラー 45
エラー 45: ここでは、文字 <Character> は使えません。

ここでタイプした文字は、マクロのこの位置では使えません。実行しようとしている機能を確認してください。

示された文字が文字列の１部分ならば、引用符「”　”」がその周りにないかどうか確認してください。文を修正してください。


エラー 46
エラー 46: マクロの行は、このようには終わりません。

挿入点の置かれたマクロ行は、終わり方が異常です。

閉じカッコが足りないか、文字列の最後の引用符を忘れた可能性があります。文を調べて修正してください。


エラー 47
エラー 47: トークンファイルが壊れています。

AMIPRO ディレクトリ内の MACTOKEN.SAM ファイルが壊れているか存在しないことを示しています。

このファイルがないと、マクロのコンパイルができません。


エラー 48
エラー 48: <string> は keyname として不適切です。

keyname <string> はキーの名前ではありません。keyname のスペルを間違えたか、文字列内に角カッコ( [ )を入れたことが考えられます。

指定できる keyname のリストを調べるか、角カッコを使うならば２重( [[ )にしてください。


エラー 49
エラー 49: 文字列の文字数が多すぎます。

文字列として使えるのは 80 文字までです。この制限を超えています。文字列を短くするか、２つの文字列に分割するかしてください。


エラー 50
エラー 50: 呼び出したマクロは、ファイル名を持っているか、カレントマクロファイル内になければなりません。

このファイル内の１つのマクロが、同じファイル内にはない別のマクロを呼び出しているとき、他のマクロが入っているファイル名を指定していません。呼び出されるマクロは、実行中のマクロファイル内にあるものか、またはファイル名を指定されたマクロでないと見つけられません。

マクロ名のスペルが正しく、存在位置が示されていることを確認してください。


エラー 51
エラー 51: マクロ <Name> が見つかりません。

このファイル内にあるマクロの１つは、他のマクロファイル内にあるべきにもかかわらずこのファイルに入っています。

マクロのファイル名が示されると、Ami Pro はマクロパスディレクトリ、文書ディレクトリ、Ami Pro プログラムディレクトリ内で指定されたファイルを探します。

フルパスが指定されると、Ami Pro はそのパスだけを探します。

呼び出したマクロのファイル名とパスを調べて、それらが正しいことを確認してください。変更してください。

参照：Determing a Macro's Location


エラー 52
エラー 52: このマクロを実行するにはメモリが足りません。

このマクロを実行するだけの空きメモリが足りません。

メモリを減らすために、オープンしている他のウィンドウをクローズし、マクロを再実行してください。


エラー 53
エラー 53: このマクロを実行するにはメモリが足りません。

このマクロを実行するだけの空きメモリが足りません。

メモリを減らすために、オープンしている他のウィンドウをクローズし、マクロを再実行してください。


エラー 54
エラー 54: DDEReceive$ が実行できません。

DDEReceive$ 関数が実行できなかったことを示しています。

会話を設定するのに DDEInitiate 関数が使われなかったか、DDEInitiate 関数が他のウィンドウズアプリケーションと会話することに失敗したかが原因と思われます。

正しく DDE 会話が始まったことと、DDEReceive$ 関数を使う前に他のアプリケーションが返答していることを確認してください。修正してください。


エラー 55
エラー 55: DDEReceive$ が他のプログラムからデータを受け取りませんでした。

DDEReceieve$ 関数は他のプログラムと会話できましたが、DDEReceive$ 関数を使ってアプリケーションからデータを受け取れなかったことを示しています。

DDEReceive$ 関数の前に他のアプリケーションが正常に初期化されていなかったためと思われます。

他のプログラムに必要な引数と、DDE 会話の設定が正しいかどうか調べてください。修正して再試行してください。


エラー 56
エラー 56: DDEReceive$ 関数の引数が正しくありません。

DDEReceive$ 関数の引数の使い方が間違っていることを示しています。

Channel ID が違っているか、他のアプリケーションで要求されているデータが要求された形式になっていないと思われます。

Channel ID と、他のアプリケーションが要求する DDE 要求形式を調べてください。

修正してください。


エラー 57
エラー 57: このマクロを実行するにはメモリが足りません。

このマクロを実行するだけの空きメモリが足りません。

メモリを減らすために、オープンしている他のウィンドウをクローズし、マクロを再実行してください。


エラー 58
エラー 58: DDEExecution 関数の引数が正しくありません。

DDEExecute 関数で使うコマンドが他のアプリケーションに対して正しくないために DDEExecute 関数が実行できなかったことを示しています。

他のアプリケーションに与えるコマンドの形式を調べてください。

修正してください。


エラー 59
エラー 59: <MacroStatement> 行番号 <Number> で使用した引数が正しくありません。

この関数で使用した引数の１つが間違っています。

数値の引数に文字列を指定した可能性があります。引数を調べて修正してください。


エラー 60
エラー 60: マクロファイルが読めません。

マクロファイルに保存したマクロを実行するためにコード化した命令を、 Ami Pro が読めないことを示しています。

メッセージが表示されたら、マクロファイルをオープンして、内部命令を再生成するためにもう一度保存してください。


エラー 61
エラー 61: 開始アドレス <String> の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 62
エラー 62: オペコード <String> の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 63
エラー 63: 関数 <Number> の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 64
エラー 64: parm マクロ、カウント <String> 行番号 <Number> の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 65
エラー 65: 関数マクロなし、番号 <String> 行番号 <Number> の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 66
エラー 66: 論理オペ不良の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 67
エラー 67: 論理オペスタックの内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 68
エラー 68: 解放オペスタックの内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 69
エラー 69: 数理オペスタックの内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 70
エラー 70: 数理オペ不良の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 71
エラー 71: 数値でない値を <MacroStatement> 行番号 <Number> で加算しようとしました。

マクロ実行中に現れるメッセージで、assignment 文または変数の評価において数値でない変数を加算しようとしています。

文字列の変数を数値に加算しようとしたときに最も多く起こります。文中の変数を文字列ではなく数値として扱っているところを確認してください。

初期化していない変数はゼロではなく空文字列「"　"」であることを憶えておいてください。変数を数値として扱うには、確実に初期化しなければなりません。

対象の変数を知り確実に数値に修正して再試行してください。


エラー 72
エラー 72: <MacroStatement> 行番号 <Number> においてゼロで除算しようとしました。

マクロ実行中に現れるメッセージで、ゼロで割ろうとしています。このメッセージが出ると、マクロの実行は止まります。

文の実行時にゼロであった変数を確認してください。割算の前で変数を評価し、ゼロであったら値を変更するか割算をスキップするようにします。


エラー 73
エラー 73: 数値でない値 <MacroStatement> 行番号 <Number> に数学関数を使おうとしています。

マクロ実行中に現れるメッセージで、代入文または変数の演算式で数値でない変数に対してバイナリ演算、掛算、割算などをしようとしています。

最も多い例は、文字列変数への数値の掛算、割算です。

このメッセージは、バイナリ演算のオペランドに整数以外の数値が使われたときにも表示されます。

文中の変数の評価が文字列ではなくて数値であることを確かめてください。

初期化していない変数はゼロではなく空文字列("""")であることを憶えておいてください。

変数を数値として扱うことを確実にするためには、変数を初期化してください。

対象の変数を知り、確実に数値になるよう修正して再試行してください。


エラー 74
エラー 74: 加算オペの内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 75
エラー 75: POPVAR スタックの内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 76
エラー 76: JMPF スタックの内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 77
エラー 77: JMPF スタックの内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 78
エラー 78: POPRLT スタックの内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 79
エラー 79: アドレス <String> コール時の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 80
エラー 80: 配列インデックスが範囲外です。

配列のインデックス値が DIM 文で割り当てた要素数より大きくなっています。

FOR/NEXT ループや WHILE/WEND ループで配列インデックスの値を増加するときに、DIM 文の要素範囲を超えた場合です。

これが起こると、マクロの実行は停止します。

インデックスを大きくしている原因となる文をつきとめ、問題を修正するか配列をもっと大きくするかして、再実行してください。


エラー 81
エラー 81: マクロが、現在使用できない Ami Pro 関数を呼び出しました。

このエラーメッセージは Ami Pro 関数が適切でない時に呼び出された場合に出されます。

たとえば、ドラフトモードでタブルーラーの表示をしようとしたり、ドラフトモードで枠作成をしようとした場合などです。

このエラーが起こると、マクロの実行は取り消されます。実行できなかった Ami Pro 関数をつきとめてください。

または、プログラムを正しい操作モードにして関数を正しく実行させるような他の Ami Pro コマンドを使うか、またはプログラムが正しい操作モードになかった場合にその関数を飛ばして先に進むことができる Ami Pro コマンドを使うこともできます。問題点を修正し、再実行してください。


エラー 82
エラー 82: 呼び出したマクロ内では ONERROR ONCANCEL は使えません。

このメッセージはマクロの実行時に、他のマクロで呼び出されたマクロ内に ONEERROR、ONCANCEL 文があった場合に表示されます。

本来このメッセージは内部エラーで起こらないはずのものです。


エラー 83
エラー 83: CALL 文で参照されたマクロが見つかりません。

マクロで他のマクロを呼び出すのに CALL 文を使いましたが、呼び出されたマクロが メインのマクロファイルまたは CALL 文で参照されたファイル内に存在していません。

呼び出されるマクロは、ユーザーが実行するファイル内にあるか、マクロ名とともにファイル名も与えられるので必ず見つかるはずです。

マクロ名のスペルが正しいか、位置が指定されているかを確認してください。


エラー 84
エラー 84: AddMenu 関数を実行するにはメモリが足りません。

このマクロを実行するだけの空きメモリが足りません。

メモリを減らすためにオープンしている他のウィンドウをクローズし、マクロを再実行してください。


エラー 85
エラー 85: AddMenu 関数を実行するにはメモリが足りません。

このマクロを実行するだけの空きメモリが足りません。

メモリを減らすためにオープンしている他のウィンドウをクローズし、マクロを再実行してください。


エラー 86
エラー 86: CreateMenu 関数が実行できません。

要求したメニューを作成できませんでした。

bar ID の指定が違っているか、要求した名前のメニューが既に存在していたかが原因でしょう。

マクロ内の AddMenu と AddBar 文を調べてください。修正してください。


エラー 87
エラー 87: AddMenu 関数でメニュー番号が最大値になりました。

メニューバー上の最大メニュー番号まできてしまったので、メニューを追加することができません。

もっと少ないメニューにするか、違うメニューバーを使うマクロに書き換えてください。修正してください。


エラー 88
エラー 88: AddMenu 関数を実行するにはメモリが足りません。

このマクロを実行するだけの空きメモリが足りません。

メモリを減らすためにオープンしている他のウィンドウをクローズし、マクロを再実行してください。


エラー 89
エラー 89: メニュー関数がロックされているため実行できません。

Windows Menu Manager との関連エラーにより、メニュー関数が実行できませんでした。

オープンしてあるウィンドウをクローズし、Windows を抜け、再実行してみてください。


エラー 90
エラー 90: 新しいメニューが作成できません。

要求したメニュー項目が作成できませんでした。

bar ID や menu ID が違っているか、要求した名前のメニューがすでに存在していることが原因と思われます。

マクロ内の AddMenu、AddBar、AddMenuItem 文を調べ、修正してください。


エラー 91
エラー 91: AddMenuItem 関数でメニュー番号が最大値になりました。

メニューバー上の最大メニュー番号まできてしまったので、メニューを追加することができません。もっと少ないメニューにするか、違うメニューバーを使うマクロに書き換えてください。修正してください。


エラー 92
エラー 92: メニュー関数を実行するにはメモリが足りません。

このマクロを実行するだけの空きメモリが足りません。

メモリを減らすためにオープンしているウィンドウをクローズし、マクロを再実行してください。


エラー 93
エラー 93: メニュー収縮の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 94
エラー 94: 文字番号の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 95
エラー 95: 文字番号の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 96
エラー 96: グロー文字列の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 97
エラー 97: 文字列の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 98
エラー 98: グロー文字列の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 99
エラー 99: ロック文字列の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 100
エラー 100: realloc 配列 C ランタイムメモリマネージャ関数の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 101
エラー 101: 文字列枠の内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 102
エラー 102: スタックがない内部エラーです。

内部エラーは本来は起こらないはずのもので、マクロの保存方法の問題か、マクロ実行を制御する Ami Pro ロジックの問題を示しています。

内部エラーが起こったときには、まずマクロファイルを表示してもう一度保存してファイルが壊れていないことを確認してください。


エラー 103
エラー 103: グローバル配列におけるインデックスが境界外です。

グローバル配列のインデックス値が、AllocGlobalVar 関数で割り当てた要素数より大きくなっています。

FOR/NEXT ループや WHILE/WEND ループで配列インデックスの値を増加するときに、AllocGlobalVar 関数での限界値の設定範を超えた場合です。

これが起こると、マクロの実行は停止します。

インデックスを大きくしているか AllocGlobalVar 関数で配列の要素を増加している原因となる文をつきとめ、問題を修正して、再実行してください。


エラー 104
エラー 104: このマクロを実行するにはメモリが足りません。

このマクロを実行するだけの空きメモリが足りません。

メモリを減らすためにオープンしている他のウィンドウをクローズし、マクロを再実行してください。


エラー 105
エラー 105: 未知のグローバル変数を使っています。

使用したグローバル変数 ID は定義されていません。グローバル変数は作成時に ID 番号が割り当てられ、変数を使うときにはこの ID を使います。

ID が正しいかどうかを確かめ、修正したら再実行してください。


エラー 106
エラー 106: 関数に使用した引数が間違っています。

この関数に使用した引数の一つが、間違っています。数値の引数を与えるところに文字列の引数を使った可能性があります。要求されている引数を確かめ、修正したら再実行してください。


エラー 107
エラー 107: このマクロを実行するにはメモリが足りません。

このマクロを実行するだけの空きメモリが足りません。

メモリを減らすためにオープンしている他のウィンドウをクローズし、マクロを再実行してください。


エラー 108
エラー 108: <Filename> はマクロファイルではありません。

表示または実行しようとしたマクロが、Ami Pro マクロファイルではありません。

文書ファイルは、拡張子が .SAM で、マクロファイルは、拡張子が .SMM です。

ファイル内容を正しく修正してください。


エラー 109
エラー 109: キーワードの組み合せが正しくありません。

END FUNCTION 文に続く行に FUNCTION 文がないか、END FUNCTION 文で前の関数を終了せずに FUNCTION 文を使った可能性があります。

マクロを調べて修正してください。


エラー 110
エラー 110: 文字列の開始位置が正しくありません。

MID$ または strchr 関数の引数の相対位置が 0 になっています。

文字列内の最初の文字を探し始める相対位置の最小値は 1 です。

引数を変更してください。


エラー 111
エラー 111: ここでは、THEN 文は使えません。

THEN 文の位置が間違っています。THEN 文は IF 文内で指定される条件に続きます。関数を調べて修正してください。


エラー 112
エラー 112: マクロ登録関数が変換できません。

マクロ登録／マクロ実行メニューから編集可能なマクロに変換する関数の１つが、変換できませんでした。

グラフのような Ami Pro 関数は記録、実行できますが、編集はできません。

編集可能なマクロ内のこれらの関数は、マクロの範囲外を意味する数字の並びで表示されるので認識することができます。

元のマクロを本来の形で残すには、編集した状態では保存しないでください。


エラー 113
エラー 113: 未知のトークン <number> は、引数として無効です。

マクロ関数および他のマクロの引数として指定した項目を使いました。

その項目は有効な変数名あるいは定義されたものではなく、関数に引き渡されませんでした。

変数名または定義のスペルを調べて修正してください。


エラー 114
エラー 114: 関数 <FunctionName> がまだ宣言されていません。

マクロで <FunctionName> を使いましたが、有効なマクロ関数でないかユーザー定義の関数ではありません。

組み込み変数のスペルを調べ、ユーザー定義関数の宣言を確かめて再実行してください。


エラー 115
エラー 115: グローバルメモリのロックに失敗しました。

Ami Pro は、マクロに必要なメモリにアクセスできませんでした。マクロを再実行し、失敗したらマクロを再表示して再保存、再実行してください。


エラー 116
エラー 116: 変数が壊れています。

マクロの変数文字列が壊れています。エラーに対する文字列の取り扱いかたを調べてください。


エラー 117
エラー 117: 変数の種類 <CodeId> が正しくありません。

変数の種類が不明なため、変数の値が取り出せませんでした。

コード：2 - 整数

　　　　3 - 浮動小数点

　　　　4 - 文字列


エラー 118
エラー 118: 代入した <CodeId> が一致しません。

代入した <CodeId> の種類が一致しないため、マクロの変数に値を割り当てられません。

コード：2 - 整数

　　　　3 - 浮動小数点

　　　　4 - 文字列


エラー 119
エラー 119: メモリ <CodeId> の割り当てに失敗しました。

マクロ変数を保存するだけのメモリを Ami Pro が取れませんでした。

Windows アプリケーションをいくつかクローズしてみて、アプリケーションを再実行してください。

また、AllocGlobalVar の呼び出しが適切なメモリ容量を要求しているかどうかも調べてください。


エラー 120
エラー 120: データ <CodeId> の種類が正しくありません。

マクロ関数に渡された変数が、使用上の正しい種類に変換できません。


エラー 121
エラー 121: GlobalLock 関数 <CodeId> の実行に失敗しました。

内部エラー：Ami Pro が以前に保存したデータをアクセスできませんでした。


エラー 122
エラー 122: 変数の種類の見分けがつきません。

置き換えようとしている種類が決められません。


エラー 123
エラー 123: 項目 <FieldName> が認識できません。

使われていない項目です。


エラー 124
エラー 124: 項目が正常に終わっていません。

Ami Pro 変数の終了方法が抜けています。


エラー 125
エラー 125: 項目番号が範囲外です。

マクロが存在しない項目を参照しています。


エラー 126
エラー 126: 引用符付きの文字列が正常に終っていません。

文字列が正常に終了していません。


エラー 127
エラー 127: Call 文はマクロ名を参照していなければなりません。

Call 文が標準マクロ関数名を使っていないことと、Call 文中の MacroName が Ami Pro に存在していることを確かめてください。

文法は、Call 文の説明書を見てください。


エラー 128
エラー 128: 項目が正常に終わっていません。

Ami Pro 変数の終了方法が抜けています。


エラー 129
エラー 129: FormatDate の数値が正しくありません。

FormatDate 関数呼び出しの Style 値が間違っています。FormatDate 関数の説明書にリストアップされている値のどれかであることを確かめてください。


エラー 130
エラー 130: Exec <ProgramNames> の実行に失敗しました。

Ami Pro がプログラムを実行できませんでした。アプリケーションが MSDOS のパスにあるかどうか確認してください。


エラー 131
エラー 131: 間接変数 (& を付けた関数を使います）が必要です。

使った変数は直接変数です。

Ami Pro では目的の変数を示すにはアドレス渡しの間接変数が必要です。

変数の先頭にアンパサンド（&）を付けてマクロを再保存してください。


エラー 132
エラー 132: この関数には配列変数が必要です。

この関数を実行するには、配列変数が必要です。


エラー 133
エラー 133: 引数の数が正しくありません。

この関数で、引数が多過ぎるか少な過ぎるかです。文法を確認し引数を修正してください。


エラー 134
エラー 134: 一度に停止できるマクロは１つだけです。

pause 関数は一度に１つのマクロだけを一時停止できます。


エラー 135
エラー 135: DIALOG BOX の形式が不正です。

ダイアログボックスの形式が間違っています。形式については、<ヘルプ(H) マクロ解説(M)> の DialogBox Call を見てください。


エラー 136
エラー 136: キーワード DIALOG の位置が間違っています。関数の外で定義してください。

DIALOG は Ami Pro マクロの予約語です。

間違いを直すには、変数名を変えてください。

ダイアログボックスを作るときは、DialogBox 関数の説明書を見てください。


エラー 137
エラー 137: キーワード END DIALOG の位置が間違っています。

END DIALOG は、Ami Pro マクロの予約文字です。


エラー 138
エラー 138: 間接アドレスの使い方が正しくありません。

アンパサンド 「&」 の使い方が違っています。「&」 を削除して残りの変数名で試してください。詳しいことは、Variable の部分を見てください。


エラー 139
エラー 139: ALIAS の引数が正しくありません。

他のマクロを参照するために DECLARE 部で作った alias は受け入れられません。詳しいことは、DECLARE 部分を見てください。


エラー 140
エラー 140: 引数が正しくありません。

関数の呼び出しで、引数が違っているか、引数の数が間違っています。


エラー 141
エラー 141: ALIAS の位置が正しくありません。

ALIAS の位置が間違っています。


エラー 142
エラー 142: DEFINE <Names> は未定義値でなければなりません。

<Name> は予約語なので、DEFINE 文で指定することはできません。DEFINE 文を調べて、引数が２つあることと予約語を使っていないことを確かめてください。


エラー 143
エラー 143: DEFINE 文に閉じカッコが必要です。

DEFINE 文に開きカッコがあるので、対応する閉じカッコが必要です。


エラー 144
エラー 144: DEFINE 文の記述が不正です。

DEFINE 文が間違っています。DEFINE に関するもっと詳しい説明を見てください。


エラー 145
エラー 145: DEFINE 文の置き換え文字列が長すぎます。

挿入した引数を含む置き換え文字列は、500 文字以下でなければなりません。


エラー 146
エラー 146: DEFINE 文または変数名 (Names) が重複しています。

変数名が複数回定義されました。


エラー 147
エラー 147: 行が長すぎます。

マクロの１行は、255 文字以下です。


エラー 148
エラー 148: 開きカッコは必要ありません。

DEFINE 文に開きカッコを使う場合は閉じカッコが必要です。


エラー 149
エラー 149: Dll ID が正しくありません。

DLLCall 関数で参照した DLL が呼び出されていないか、呼び出せません。


エラー 150
エラー 150: DLL の呼び出しに失敗しました。

マクロが DLL を呼び出せませんでした。DLL が Windows ディレクトリ内にあるか、参照時にフルパスが指定されたかを調べてください。


エラー 151
エラー 151: マクロ制御ファイルがオープンできません。

Ami Pro が、マクロ制御ファイル MACTOKEN.SAM をオープンできません。Ami Pro デイレクトリ内に存在しているかどうか調べてください。


エラー 1 - 40
エラーメッセージ 1 - 40

エラー 1 : 関数の形式が正しくありません。

エラー 2 : 文字 <Name> が認識できません。

エラー 3 : メモリ不足です。

エラー 4 : <Name> はすでに配列として定義されています。

エラー 5 : 配列名は「）」で終らせます。

エラー 6 : 配列要素の式が正しくありません。

エラー 7 : 式が正しくありません。「）」が抜けていると思われます。

エラー 8 : 引数の数が正しくありません。

エラー 9 : キーワード <KeyWordName> の位置が正しくありません。

エラー 10 : トークンファイルが読めません。

エラー 11 : FUNCTION の引数の値がすでに定義されています。

エラー 12 : FUNCTION 文の形式が正しくありません。

エラー 13 : DECLARE 文の形式が正しくありません。

エラー 14 : DECLARE 文または CALL 文の形式が正しくありません。

エラー 15 : 変数名 <VariableName> をここで使うのは適切ではありません。

エラー 16 : 文字 <String> が認識できません。

エラー 17 : END FUNCTION 文が見つかりません。

エラー 18 : ここには、<Statement> ではなく（が必要です。

エラー 19 : ここには、<Statement> ではなく ENDIF が必要です。

エラー 20 : ここには、ELSEIF ではなく <Statement> が必要です。

エラー 21 : ここには、ELSE ではなく <Statement> が必要です。

エラー 22 : ここには、ENDIF ではなく <Statement> が必要です。

エラー 23 : ここには、NEXT ではなく <Statement> が必要です。

エラー 24 : WHILE 文の形式が正しくありません。

エラー 25 : CASE 文は SWITCH 文のあとでなければなりません。

エラー 26 : 変数名は SWITCH 文のあとでなければなりません。

エラー 27 : ここには、CASE ではなく <statement> が必要です。

エラー 28 : ここには、DEFAULT ではなく <statement> が必要です。

エラー 29 : ここには、ENDSWITCH ではなく <statement> が必要です。

エラー 30 : ここでは、BREAK 文は使えません。

エラー 31 : ここには、FUNCTION ではなく <statement> が必要です。

エラー 32 : ここには、END FUNCTION ではなく <statement> が必要です。

エラー 33 : CALL 文の形式が正しくありません。

エラー 34 : ラベル <name> が定義されていません。

エラー 35 : <LabelName> はすでに定義されています。

エラー 36 : 引数の数が正しくありません：関数

エラー 37 : DIM 文の形式が正しくありません。

エラー 38 : DEFSTR 文の形式が正しくありません。

エラー 39 : 配列の表現が正しくありません。

エラー 40 : FOR 文のあとには代入が必要です。


エラー 41 - 80
エラーメッセージ 41 - 80

エラー 41 : FOR 文の中に、TO が必要です。

エラー 42 : GOTO 文で使った名札が不適切です。

エラー 43 : DECLARE 文の形式が正しくありません。

エラー 44 : ファイル内にマクロが見つかりません。

エラー 45 : ここでは、文字 <Character> は使えません。

エラー 46 : マクロの行は、このようには終わりません。

エラー 47 : トークンファイルが壊れています。

エラー 48 : <string> は keyname として不適切です。

エラー 49 : 文字列の文字数が多すぎます。

エラー 50 : 呼び出したマクロは、ファイル名を持っているか、カレントマクロファイル内になければなりません。

エラー 51 : マクロ <Name> が見つかりません。

エラー 52 : このマクロを実行するにはメモリが足りません。

エラー 53 : このマクロを実行するにはメモリが足りません。

エラー 54 : DDEReceive$ が実行できません。

エラー 55 : DDEReceive$ が他のプログラムからデータを受け取りませんでした。

エラー 56 : DDEReceive$ 関数の引数が正しくありません。

エラー 57 : このマクロを実行するにはメモリが足りません。

エラー 58 : DDEExecution 関数の引数が正しくありません。

エラー 59 : <MacroStatement> の行番号 <Number> で使用した引数が正しくありません。

エラー 60 : マクロファイルが読めません。

エラー 61 : 開始アドレス <String> の内部エラーです。

エラー 62 : オペコード <String> の内部エラーです。

エラー 63 : 関数 <Number> の内部エラーです。

エラー 64 : parm マクロ、カウント <String> 行番号 <Number> の内部エラーです。

エラー 65 : 関数マクロなし、番号 <String> 行番号 <Number> の内部エラーです。

エラー 66 : 論理オペ不良の内部エラーです。

エラー 67 : 論理オペスタックの内部エラーです。

エラー 68 : 解放オペスタックの内部エラーです。

エラー 69 : 数理オペスタックの内部エラーです。

エラー 70 : 数理オペ不良の内部エラーです。

エラー 71 : 数値でない値を <MacroStatement> 行番号 <Number> で加算しようとしました。

エラー 72 : <MacroStatement> 行番号 <Number> においてゼロで除算しようとしました。

エラー 73 : 数値でない値 <MacroStatement> 行番号 <Number> に数学関数を使おうとしています。

エラー 74 : 加算オペの内部エラーです。

エラー 75 : POPVAR スタックの内部エラーです。

エラー 76 : JMPF スタックの内部エラーです。

エラー 77 : JMPF スタックの内部エラーです。

エラー 78 : POPRLT スタックの内部エラーです。

エラー 79 : アドレス <String> コール時の内部エラーです。

エラー 80 : 配列インデックスが範囲外です。


エラー 81 - 120
エラーメッセージ 81 - 120

エラー 81 : マクロが、現在使用できない Ami Pro 関数を呼び出しました。

エラー 82 : 呼び出したマクロ内では ONERROR ONCANCEL は使えません。

エラー 83 : CALL 文で参照されたマクロが見つかりません。

エラー 84 : AddMenu 関数を実行するにはメモリが足りません。

エラー 85 : AddMenu 関数を実行するにはメモリが足りません。

エラー 86 : CreateMenu 関数が実行できません。

エラー 87 : AddMenu 関数でメニュー番号が最大値になりました。

エラー 88 : AddMenu 関数を実行するにはメモリが足りません。

エラー 89 : メニュー関数がロックされているてめ実行できません。

エラー 90 : 新しいメニューが作成できません。

エラー 91 : AddMenuItem 関数でメニュー番号が最大値になりました。

エラー 92 : メニュー関数を実行するにはメモリが足りません。

エラー 93 : メニュー収縮の内部エラーです。

エラー 94 : 文字番号の内部エラーです。

エラー 95 : 文字番号の内部エラーです。

エラー 96 : グロー文字列の内部エラーです。

エラー 97 : 文字列の内部エラーです。

エラー 98 : グロー文字列の内部エラーです。

エラー 99 : ロック文字列の内部エラーです。

エラー 100 : realloc 配列 C ランタイムメモリマネージャ関数の内部エラーです。

エラー 101 : 文字列枠の内部エラーです。

エラー 102 : スタックがない内部エラーです。

エラー 103 : グローバル配列におけるインデックスが境界外です。

エラー 104 : このマクロを実行するにはメモリが足りません。

エラー 105 : 未知のグローバル変数を使っています。

エラー 106 : 関数に使用した引数が間違っています。

エラー 107 : このマクロを実行するにはメモリが足りません。

エラー 108 : <Filename> はマクロファイルではありません。

エラー 109 : キーワードの組み合せが正しくありません。

エラー 110 : 文字列の開始位置が正しくありません。

エラー 111 : ここでは、THEN 文は使えません。

エラー 112 : マクロ登録関数が変換できません。

エラー 113 : 未知のトークン <number> は、引数として無効です。

エラー 114 : 関数 <FunctionName> がまだ宣言されていません。

エラー 115 : グローバルメモリのロックに失敗しました。

エラー 116 : 変数が壊れています。

エラー 117 : 変数の種類 <CodeId> が正しくありません。

エラー 118 : 代入した <CodeId> が一致しません。

エラー 119 : メモリ <CodeId>の割り当てに失敗しました。

エラー 120 : データ <CodeId> の種類が正しくありません。


エラーメッセージ 121 - End

エラー 121 : GlobalLock 関数 <CodeId> が失敗しました。

エラー 122 : 変数の種類の見分けがつきません。

エラー 123 : 項目 <FieldName> が認識できません。

エラー 124 : 項目が正常に終わっていません。

エラー 125 : 項目番号が範囲外です。

エラー 126 : 引用符付きの文字列が正常に終っていません。

エラー 127 : Call 文はマクロ名を参照していなければなりません。

エラー 128 : 項目が正常に終わっていません。

エラー 129 : FormatDate の数値が正しくありません。

エラー 130 : Exec <ProgramNames>の実行に失敗しました。

エラー 131 : 間接変数 (&を付けた変数を使います) が必要です。

エラー 132 : この関数には配列変数が必要です。

エラー 133 : 引数の数が正しくありません。

エラー 134 : 一度に停止できるマクロは１つだけです。

エラー 135 : DIALOG BOX の形式が不正です。

エラー 136 : キーワード DIALOG の位置が間違っています。関数の外で定義してください。

エラー 137 : キーワード END DIALOG の位置が間違っています。

エラー 138 : 間接アドレスの使い方が正しくありません。

エラー 139 : ALIAS の引数が正しくありません。

エラー 140 : 引数が正しくありません。

エラー 141 : ALIAS の位置が正しくありません。

エラー 142 : DEFINE <Names> は未定義値でなければなりません。

エラー 143 : DEFINE 文に閉じカッコが必要です。

エラー 144 : DEFINE 文の記述が不正です。

エラー 145 : DEFINE 文の置き換え文字が長すぎます。

エラー 146 : DEFINE 文または変数名 (Names) が重複しています。

エラー 147 : 行が長すぎます。

エラー 148 : 開きカッコは必要ありません。

エラー 149 : Dll ID が正しくありません。

エラー 150 : DLL の呼び出しに失敗しました。

エラー 151 : マクロ制御ファイルがオープンできません。


ApplyFormat

説明

選択したテキストに対し、表示形式や特殊属性を設定します。あらかじめ、FastFormat 関数を使って、テキストの表示形式や特殊属性を取り込んでおきます。この関数はマクロ記録では入力できません。マクロを編集して入力します。

構文

ApplyFormat()

戻り値

1

例

FUNCTION Example()

UserControl("ｺﾋﾟｰしたいｽﾀｲﾙ形式の箇所を選択してください")

FastFormat()

FastFormat()

UserControl("ｽﾀｲﾙ形式を変更したい箇所を選択してください")

ApplyFormat()

END FUNCTION

関連項目

FastFormat


AssignMacroToFile

説明

現在のファイルに、そのファイルを開いたときや閉じたときに実行するマクロを割り当てます。メニューで <ツール(L) マクロ(M) 編集(E) 自動マクロ(A)> を選択するのと同じです。

構文

AssignMacroToFile(OpenMacro, CloseMacro, Flag)

OpenMacro

現在のファイルをオープンしたときに実行するマクロ名を指定します。マクロの実行を行なわないのなら、空文字列 ("") を指定します。

CloseMacro

カレントファイルをクローズしたときに実行するマクロ名を指定します。マクロの実行を行なわないのなら、空文字列 ("") を指定します。

Flag

指定したマクロの実行をオープンやクローズのときに実際に行なうかどうかを示します。オープン、クローズのいずれのときにも実行するのなら、それぞれの値を加えて指定します。

2 - オープン時のマクロを実行

4 - クローズ時のマクロを実行

戻り値

0

例

FUNCTION Example()

AssignMacroToFile("OpenIt.SMM","CloseIt.SMM",6)

END FUNCTION


CleanScreenOptions

説明

クリーンスクリーンで画面に表示する構成要素を指定します。この関数は、メニューで <表示(V) 表示オプション(P)> を選び、<クリーンスクリーンオプション(S)> を選択するのと同じです。

構文

CleanScreenOptions(Options)

Options 画面に表示する要素を指定します。次の値のうち1つ以上を指定します。

None (0)	- 何も表示しない。

TitleBar(1)	- タイトルバーを表示する。この値は MenuBar(2)と併せて指定します。

MenuBar (2) 	- メニューバーを表示する。

Icons (4) 	- スマートアイコンを表示する。

StatusBar  (8)	- ステータスバーを表示する。

VertScroll (16)	- 垂直スクロールバーを表示する。

HorzScroll (32)	- 水平スクロールバーを表示する。

ReturnIcon (64)	- クリーンスクリーンから抜け出すためのアイコンを表示する。

戻り値

1

例

FUNCTION Example()

CleanScreenOptions(Icons+VertScroll+ReturnIcon)

ToggleCleanScreen()

END FUNCTION

関連項目

ToggleCleanScreen, ViewPreferences


CreateDataFile

説明

新しいデータファイルを作成します。データファイルへの自動レコード入力関数は実行しません。

構文

CreateDataFile()

戻り値

1

例

FUNCTION Example()

CreateDataFile()

END FUNCTION

関連項目

CreateDescriptionFile, Merge, MergeToFile, OpenDataFile, OpenMergeFile


CreateDescriptionFile

説明

Ami Pro 以外のデータファイルで差し込みをするための説明ファイルを作成します。説明ファイルには、外部データファイルに含まれるフィールドに関する情報を記述します。メニューで、<ファイル(F) スマートマージ(G)> を選択し、<オプション２> を選び、ファイル種別やファイル名を指定して、差し込みデータファイルフィールドのダイアログボックスにフィールド名を入力するのと同じです。

構文

CreateDescriptionFile(FileName, Type[, Fields...])

FileName

Ami Pro の形式の説明ファイル名です。

Type

データファイルの形式で、以下のいずれかを指定します。

1-2-3R2.xJ(WJ2ファイル)

1-2-3/Windows(WK3ファイル)

dBASEⅢ PLUS

Excel for Windows Ver3.1,4.0

Fields

説明ファイルに入力されるフィールド名です。

戻り値

1

例

FUNCTION Example()

CreateDescriptionFile("123Desc.SAM","1-2-3/Windows","郵便番号","住所","氏名")

END FUNCTION

関連項目

CreateDataFile, MergeToFile, OpenDataFile, OpenMergeFile


CustomView

説明

現在の表示レベルを指定サイズに変更します。メニューで、<表示(V) 指定サイズ(C)> を選択するのと同じです。また、2.0J の WorkingView と同じ機能です。WorkingView は 2.0J だけで使えます。

構文

CustomView()

戻り値

1

例

FUNCTION Example()

MFN=GetRunningMacroFile$()

SetDlgCallBack(20,"{MFN}!ChangeView")

SetDlgCallBack(21,"{MFN}!ChangeView")

SetDlgCallBack(22,"{MFN}!ChangeView")

SetDlgCallBack(23,"{MFN}!ChangeView")

SetDlgCallBack(24,"{MFN}!ChangeView")

Box=DialogBox(".","ViewSize")

END FUNCTION

FUNCTION ChangeView(hDLG,ID,TEXT)

SWITCH ID

CASE 20

FullPageView()

CASE 21

CustomView()

CASE 22

StandardView()

CASE 23

EnlargedView()

CASE 24

FacingView()

DEFAULT

Message("Unkown Function!")

ENDSWITCH

END FUNCTION

DIALOG	ViewSize

-2143289344	6	357	152	53	108	""	""	""

2	91	48	14	1	1342373889	"button"	"終了(&Q)"	0

2	2	48	14	20	1342373888	"button"	"ﾍﾟｰｼﾞ全体(&F)"	0

2	19	48	14	21	1342373888	"button"	"指定ｻｲｽﾞ(&C)"	0

2	36	48	14	22	1342373888	"button"	"標準ｻｲｽﾞ(&S)"	0

2	54	48	14	23	1342373888	"button"	"拡大ｻｲｽﾞ(&E)"	0

2	71	48	14	24	1342373888	"button"	"見開き(&A)"	0

END DIALOG

関連項目

EnlargedView, FacingView, FullPageView, GetViewLevel, LayoutMode, StandardView


DeleteEntireTable

説明

選択した表を削除します。メニューで、<表(B) 表全体の削除(T)> を選択するのと同じです。

構文

DeleteEntireTable()

戻り値

 0   (NoAction) 	なにもしない。表が存在しないか、表が選択されていないとき

 1   (True) 	表が削除されたとき

-2  (GeneralFailure) 	関数の実行に失敗したとき

例

FUNCTION Example()

DeleteEntireTable()

END FUNCTION

関連項目

DeleteColumnRow, InsertColumnRow, SizeColumnRow, TableLayout, TableLines,Tables


DlgKeyInterrupt

説明

ダイアログボックスを処理するマクロを実行中に、ある特定のキーを押したときに呼び出されるコールバック関数を設定します。DialogBox ステートメントよりも前に実行する必要があります。ダイアログボックスを表示している間だけ設定できます。関数には、ダイアログボックスのハンドル (HDLG) と仮想キーが引数として渡されます。

構文

DlgKeyInterrupt(Key, Function)

Key

仮想キーで、たとえば [F1] や [前頁] のように指定します。"AmiDialog" 形式のダイアログボックスを使う場合、[F1] でヘルプが表示できるようにします。

Function

指定したキーを押したときに実行される関数名です。この引数には、マクロファイル名か呼び出されているファイルに含まれる関数を指定します。

戻り値

なし

例

FUNCTION Example()

DlgKeyInterrupt([F1], "HelpFun")

DialogBox(".", "QT")

END FUNCTION

FUNCTION HelpFun(hdlg, key)

Message("このﾀﾞｲｱﾛｸﾞﾎﾞｯｸｽにはﾍﾙﾌﾟﾒｯｾｰｼﾞが有りません!!","ﾍﾙﾌﾟﾒｯｾｰｼﾞ")

END FUNCTION

DIALOG	QT

-2134376448	3	114	76	154	39	""	"AmiDialog"	"ﾀﾞｲｱﾛｸﾞﾎﾞｯｸｽのｷｰ割り込み"

FONT	14	"System"

112	2	40	14	1	1342373889	"button"	"&OK"	0

112	19	40	14	2	1342373888	"button"	"ｷｬﾝｾﾙ(&C)"	0

2	2	104	34	1000	1342177280	"static"	"［Ｆ１］キー、またはダイアログボックスの右上の［？］をクリックしてください"	0

END DIALOG

関連項目

KeyInterrupt, MouseInterrupt


FastFormat

説明

選択範囲のテキストに設定されている書式情報を取り出し、文書内の別のテキストや表の中のテキスト、枠内のテキストにその書式情報を設定します。書式情報とは、フォントの種類、ポイントサイズ、色、属性 (太字、斜体、下線、単語下線) 、大文字/小文字、特殊属性を指定します。メニューで <テキスト(T) ファストフォーマット(T) > を選択するのと同じです。この関数では、ApplyFormat 関数で使うテキストの書式情報も取り出せます。

構文

FastFormat()

戻り値

1

例

FUNCTION Example()

FastFormat()

UserControl("［再開]をｸﾘｯｸすると、ﾌｧｽﾄﾌｫｰﾏｯﾄを終了します")

FastFormat()

END FUNCTION

関連項目

ApplyFormat


GetDocVar

説明

引数 Name に設定された値を取り出します。文書内変数として値を現在の文書に保持できます。文書内変数は WIN.INI の項目と同様、名前と値を持っています。この関数は指定した名前の変数を取り出します。GetPowerFields 関数ではすべての文書内変数を取り出せます。

構文

GetDocVar(Name)

Name

取り出したい文書内変数の名前です。

戻り値

文書変数に設定されている文字列

例

FUNCTION Example()

SetDocVar("x1","ABC")

Text=GetDocVar("x1")

Type(Text)

END FUNCTION

関連項目

SetDocVar


GetIconPalette

説明

現在のアイコンセットの名前を返します。

構文

GetIconPalette()

戻り値

アイコンセットの名前を示す文字列

例

FUNCTION Example()

palette = GetIconPalette()

Message("現在 ""{palette}"" ｱｲｺﾝｾｯﾄ を使用中")

END FUNCTION

関連項目

ChangeIcons, IconBottom, IconCustomize, IconFloating, IconLeft, IconRight, IconTop, SetIconSize


GetPowerFieldCount

説明

指定したタイプのパワーフィールドの数を返します。

構文

GetPowerFieldCount(Type)

Type

パワーフィールドのタイプで、以下のものから１つを指定します。

(0) 	- すべてのパワーフィールド (文書内変数を除く)

(3)	- 下記以外のパワーフィールド

(4)	- Sequence パワーフィールド

(5) 	- Set パワーフィールド

(6)	- Button パワーフィールド

(7) 	- PrintEscape パワーフィールド

(8) 	- Index mark パワーフィールド

(9) 	- User パワーフィールド

(10)	- 文書内変数

(11)	- TOC パワーフィールド

(12)	- MergeField パワーフィールド

戻り値

指定したタイプのパワーフィールドの数

例

FUNCTION Example()

Count = GetPowerFieldCount(0)

DIM Power(Count)

GetPowerFields(0, &Power)

FOR i = 1 to Count

pfid = strfield$(Power(i), 1, ",")

pftype = strfield$(Power(i), 2, ",")

pageno = GetPowerFieldPage(pfid, pftype)

GotoPowerField(pfid,pftype)

Message("{Pageno}ﾍﾟｰｼﾞにID:{pfid}/TYPE:{pftype}のﾊﾟﾜｰﾌｨｰﾙﾄﾞがあります")

NEXT

END FUNCTION

関連項目

GetPowerFieldPage, GetPowerFields, GoToPowerField


GetPowerFieldPage

説明

指定したパワーフィールドがあるページ番号を返します。引数の ID や Type は、GetPowerFields 関数でも利用します。

構文

GetPowerFieldPage(ID, Type)

ID

パワーフィールドに割り当てられた番号です。

Type

パワーフィールドのタイプで、以下のものから１つを指定します。

(0) 	- すべてのパワーフィールド (文書内変数を除く)

(3) 	- 下記以外のパワーフィールド

(4) 	- Sequence パワーフィールド

(5) 	- Set パワーフィールド

(6) 	- Button パワーフィールド

(7) 	- PrintEscape パワーフィールド

(8) 	- Index mark パワーフィールド

(9) 	- User パワーフィールド

(10)	- 文書内変数

(11)	- TOC パワーフィールド

(12)	- MergeField パワーフィールド

戻り値

指定したパワーフィールドがあるページ番号

例

FUNCTION Example()

Count = GetPowerFieldCount(0)

DIM Power(Count)

GetPowerFields(0, &Power)

FOR i = 1 to Count

pfid = strfield$(Power(i), 1, ",")

pftype = strfield$(Power(i), 2, ",")

pageno = GetPowerFieldPage(pfid, pftype)

GotoPowerField(pfid,pftype)

Message("{Pageno}ﾍﾟｰｼﾞにID:{pfid}/TYPE:{pftype}のﾊﾟﾜｰﾌｨｰﾙﾄﾞがあります")

NEXT

END FUNCTION

関連項目

GetPowerFieldCount, GetPowerFields, GoToPowerField


GetPowerFields

説明

現在の文書にあるパワーフィールドを配列に入れます。事前に GetPowerFieldCount 関数で配列のパワーフィールドの数を求めます。

構文

GetPowerFields(Type, &Array)

Type

パワーフィールドのタイプで、以下のものから１つを指定します。

(0) 	- すべてのパワーフィールド (文書内変数を除く)

(3) 	- 下記以外のパワーフィールド

(4) 	- Sequence パワーフィールド

(5) 	- Set パワーフィールド

(6) 	- Button パワーフィールド

(7) 	- PrintEscape パワーフィールド

(8) 	- Index mark パワーフィールド

(9) 	- User パワーフィールド

(10)	- 文書内変数

(11)	- TOC パワーフィールド

(12)	- MergeField パワーフィールド

Array

パワーフィールドを収める配列です。配列の各要素の形式は“ID, タイプ, パワーフィールド”となっています。引数 Type に 10 が指定されたときにだけ文書変数を取り出せます。この形式は“変数名=値”となっています。

配列名の前に & をつけて、間接アドレス指定します。

戻り値

配列に入れられたパワーフィールドの数

例

FUNCTION Example()

Count = GetPowerFieldCount(0)

DIM Power(Count)

GetPowerFields(0, &Power)

FOR i = 1 to Count

pfid = strfield$(Power(i), 1, ",")

pftype = strfield$(Power(i), 2, ",")

pageno = GetPowerFieldPage(pfid, pftype)

GotoPowerField(pfid,pftype)

Message("{Pageno}ﾍﾟｰｼﾞにID:{pfid}/TYPE:{pftype}のﾊﾟﾜｰﾌｨｰﾙﾄﾞがあります")

NEXT

END FUNCTION

関連項目

GetPowerFieldCount, GetPowerFieldPage


GetStyleCount

説明

現在の文書に設定されたスタイルの数を返します。

構文

GetStyleCount()

戻り値

現在の文書のスタイル数

例

FUNCTION Example()

Count = GetStyleCount()

DIM Styles(Count)

GetStyleNames(&Styles)

FillEdit(1002,Count)

For i=1 to Count

FillEdit(9000,Styles(i))

Next

Box=DialogBox(".","Style")

END FUNCTION

DIALOG	Style

-2134376448	5	117	76	162	110	""	""	"ｽﾀｲﾙ一覧"

5	4	66	9	1000	1342177280	"static"	"登録スタイル数:"	0

120	91	40	14	1	1342373889	"button"	"終了"	0

5	32	112	73	9000	1352728579	"listbox"	""	0

5	19	61	9	1001	1342177280	"static"	"スタイル名一覧:"	0

66	4	26	9	1002	1342177280	"static"	""	0

END DIALOG

関連項目

GetStyleNames


GetStyleNames

説明

現在の文書に設定されているスタイル名を配列に入れます。事前に GetStyleCount で配列のスタイル数を求めます。

構文

GetStyleNames(&Array)

Array

スタイル名を収める配列名です。

配列名の前に & をつけて、間接アドレス指定します。

戻り値

スタイル名の配列

例

FUNCTION Example()

Count = GetStyleCount()

DIM Styles(Count)

GetStyleNames(&Styles)

FillEdit(1002,Count)

For i=1 to Count

FillEdit(9000,Styles(i))

Next

Box=DialogBox(".","Style")

END FUNCTION

DIALOG	Style

-2134376448	5	117	76	162	110	""	""	"ｽﾀｲﾙ一覧"

5	4	66	9	1000	1342177280	"static"	"登録スタイル数:"	0

120	91	40	14	1	1342373889	"button"	"終了"	0

5	32	112	73	9000	1352728579	"listbox"	""	0

5	19	61	9	1001	1342177280	"static"	"スタイル名一覧:"	0

66	4	26	9	1002	1342177280	"static"	""	0

END DIALOG

関連項目

ModifyStyle, SelectStyle, SetStyle, ShowStylesBox, ToggleStylesBox


GetViewPrefLevel

説明

<表示(V) 表示オプション(P)> で設定される指定サイズを返します。指定サイズの変更は、ViewPreferences 関数を使います。この関数は、GetViewPrefOpts 関数といっしょに使います。GetViewPrefOpts は表示オプションの値を取り出す関数です。

構文

GetViewPrefLevel()

戻り値

表示オプションの指定サイズを示す数値で、10 から 400 の範囲で指定したとき

例

FUNCTION Example()

Viewopts=GetViewPrefOpts()

Viewlevel=GetViewPrefLevel()

IF (Viewopts & 2048) 'ﾒﾓ表示はONか?

Viewopts=Viewopts - 2048 'ﾒﾓ表示 OFF

ENDIF

ViewPreferences(Viewopts, Viewlevel)

END FUNCTION

関連項目

GetViewPrefOpts


GetViewPrefOpts

説明

表示オプションとして設定された現在のオプションの値を取り出します。マクロ中で表示オプションを変更する場合に、この関数を使います。この関数は、GetViewPrefLevel 関数といっしょに使います。GetViewPrefLevel は表示オプションの指定サイズを取り出す関数です。

構文

GetViewPrefOpts()

戻り値

表示オプションの値

例

FUNCTION Example()

Viewopts=GetViewPrefOpts()

Viewlevel=GetViewPrefLevel()

IF (Viewopts & 2048) 'ﾒﾓ表示はONか?

Viewopts=Viewopts - 2048 'ﾒﾓ表示 OFF

ENDIF

ViewPreferences(Viewopts, Viewlevel)

END FUNCTION

関連項目

GetViewPrefLevel


GoToPowerField

説明

挿入ポイントを指定したパワーフィールドの位置に移動します。引数 ID や Type は、GetPowerFields 関数でも使います。

構文

GoToPowerField(ID, Type)

ID

パワーフィールドに割り当てられた番号です。

Type

パワーフィールドのタイプで、以下のものから１つを指定します。

(0) 	- すべてのパワーフィールド (文書内変数を除く)

(3) 	- 下記以外のパワーフィールド

(4) 	- Sequence パワーフィールド

(5) 	- Set パワーフィールド

(6) 	- Button パワーフィールド

(7) 	- PrintEscape パワーフィールド

(8) 	- Index mark パワーフィールド

(9) 	- User パワーフィールド

(11)	- TOC パワーフィールド

(12)	- MergeField パワーフィールド

戻り値

1 (TRUE)  パワーフィールドの位置に移動できたとき

0 (FALSE) パワーフィールドが見つからなかったとき

例

FUNCTION Example()

Count = etPowerFieldCount(0)

DIM Power(Count)

GetPowerFields(0, &Power)

FOR i = 1 to Count

pfid = strfield$(Power(i), 1, ",")

pftype = strfield$(Power(i), 2, ",")

pageno = GetPowerFieldPage(pfid, pftype)

GotoPowerField(pfid,pftype)

Message("{Pageno}ﾍﾟｰｼﾞにID:{pfid}/TYPE:{pftype}のﾊﾟﾜｰﾌｨｰﾙﾄﾞがあります")

NEXT

END FUNCTION

関連項目

GetPowerFieldCount, GetPowerFieldPage, GetPowerFields


HeaderFooter

説明

ヘッダ/フッタに移動するか、<浮動ヘッダ/フッタ> ダイアログボックスを表示します。メニューで、<ページ(P) ヘッダ／フッタ(H) 浮動ヘッダ/フッタ(F)> を選択するのと同じです。

構文

HeaderFooter(Function)

Function

フラグとして以下のものから１つを選択します。

(1) - ヘッダに移動します。

(2) - フッタに移動します。

(3) - <浮動ヘッダ/フッタ> ダイアログボックスを表示します。

ダイアログボックスを表示して、ユーザーが引数を指定する場合は HeaderFooter を使います。

戻り値

 0  (UserCancel) ユーザーによって処理が取り消されたとき

 1  (TRUE) フッタないしはヘッダが見つかったとき、もしくは、<浮動ヘッダ/フッタ> ダイアログボックスを表示できたとき

-6  (NoMemory) 	メモリが不十分なため処理ができなかったとき

例

FUNCTION Example()

HeaderFooter(1) 'ヘッダへジャンプ

Type("この部分がヘッダです")

HeaderFooter(2) 'フッタへジャンプ

Type("この部分がフッタです")

END FUNCTION

関連項目

FloatingHeader, GoToCmd, ModifyLayout, PageNumber


IndentAll

説明

選択したテキストのインデントを増やします。<段落の全行インデント>というアイコンを選択するのと同じです。増加するのは、<文字(T) インデント(D)> を選択し、インデントのダイアログボックスの <全部(A)> で指定した値です。もし <ページ(P) ページレイアウト修正(M)> で単位として cm が指定していれば、増加分は１センチです。他の単位 (in.、picas、pt.) の場合、0.5 インチです。

構文

IndentAll()

戻り値

 1	(TRUE) 	  	インデントが増加したとき

-6	(InsufficientMemory)	メモリが不十分なため処理に失敗したとき

例

FUNCTION Example()

IndentAll()

END FUNCTION

関連項目

Indent, IndentFirst, IndentRest


IndentFirst

説明

選択したテキストのインデントを増加します。<段落の最初の行をインデント>というアイコンを選択するのと同じです。増加するのは、<テキスト(T) インデント(D)>を選択し、インデントのダイアログボックスの<1行目(F)> で指定した値です。もし <ページ(P) ページレイアウト修正(M)> で単位としてcm が指定していれば、増加分は１センチです。他の単位 (in.、picas、pt.) の場合、0.5 インチです。

構文

IndentFirst()

戻り値

 1  (TRUE)	 	インデントが増加したとき

-6  (InsufficientMemory) 	メモリが不十分なため処理に失敗したとき

例

FUNCTION Example()

IndentFirst()

END FUNCTION

関連項目

Indent, IndentAll, IndentRest


IndentRest

説明

選択したテキストのインデントを増加します。<段落の最初の行以外の行をインデント>というアイコンを選択するのと同じです。増加するのは、<テキスト(T) インデント(D)>を選択し、インデントのダイアログボックスの<2行目以降(R)> で指定した値です。もし <ページ(P) ページレイアウト修正(M)> で単位としてcm が指定していれば、増加分は１センチです。他の単位 (in.、picas、pt.) の場合、0.5 インチです。

構文

IndentRest()

戻り値

 1	(TRUE) 	インデントが増加したとき

-6	(InsufficientMemory) 	メモリが不十分なので処理に失敗したとき

例

FUNCTION Example()

IndentRest()

END FUNCTION

関連項目

Indent, IndentAll, IndentFirst


InsertBullet

説明

現在のカーソル位置に記号を挿入します。メニューで <編集(E) 挿入(I) 記号(B)> を選択するのと同じです。

構文

InsertBullet(Type)

Type

挿入する記号のタイプで、以下の数値から１つを指定します。

 (1) 	- 小さい黒丸

 (2) 	- 大きい黒丸

 (3) 	- 小さい黒四角形

 (4) 	- 大きい黒四角形

 (5) 	- 大きい白抜き四角形

 (6) 	- 小さい黒菱形

 (7) 	- 大きい黒菱形

 (8) 	- 小さい白抜き丸

 (9) 	- 大きい白抜き丸

(10)	- チェックマーク (ﾚ)

(11)	- 黒三角形

(12)	- 右下影付き白抜き四角形

(13)	- 左下影付き白抜き四角形

(14)	- チェックマーク (ﾚ) 付き四角形

(15)	- バツマーク付き四角形

(16)	- 上半分黒、下半分白の矢じり

(17)	- 上半分白、下半分黒の矢じり

ダイアログボックスを表示して、ユーザーが引数を指定する場合は InsertBullet を使います。

戻り値

 1	(TRUE) 	記号が挿入されたとき

-2 	(GeneralFailure)	挿入に失敗したとき

例

FUNCTION Example()

InsertBullet(14)

END FUNCTION

関連項目

InsertDate, InsertDocInfo, ModifyEffects, ModifyStyle


KeyInterrupt

現在のマクロを実行中にユーザーがキーをタイプしたときに実行するマクロ関数を設定します。呼び出されるマクロには仮想キーが引き渡されます。割り込みルーチンから元の関数に情報を渡したいときには、それをグローバル変数に入れて元の関数で変数の値を調べます。

構文

KeyInterrupt(Function)

Function

キーが押されたときに実行する関数です。このパラメータにはマクロファイル名か呼び出したファイルの中の関数名を指定します。

戻り値

事前に KeyInterrupt で設定した関数が返されたとき

例

FUNCTION Example()

KeyInterrupt("KeyInt")

TYPE("何かキーを入力してください")

FOR I=5 to 0 step -1

FOR J=0 to 100

NEXT

Type("{I}.")

NEXT

END FUNCTION

FUNCTION KeyInt(key)

Message("押されたキーコードは {key} です")

END FUNCTION

関連項目

MouseInterrupt, DlgKeyInterrupt


ManualFrame

説明

手動で枠を作成します。メニューで <枠(R) 新規枠作成(C) 手動(M)> を選択するのと同じです。

構文

ManualFrame()

戻り値

1

例

FUNCTION Example()

ManualFrame()

END FUNCTION

関連項目

AddFrame, AddFrameDlg, FrameLayout, FrameModBorders, FrameModFinish, FrameModInit, FrameModLines, FrameModType, IsFrameSelected, SelectFrameByName, SetFrameDefaults


MarkTOCEntry

説明

ダイアログボックスを表示し、選択したテキストを目次に含めます。メニューで <編集(E) マーク(M) 目次登録(I)> を選択するのと同じです。目次に自動的に含めるには、FieldAdd 関数を使います。自動的に目次から抜き去るには、FieldRemove 関数を使います。

構文

MarkTOCEntry

戻り値

0

例

FUNCTION Example()

MarkTOCEntry

END FUNCTION

関連項目

Generate, FieldAdd, FieldRemove, SetTOCFile, TOCOptions


MouseInterrupt

説明

現在のマクロを実行中に、ユーザーがマウスクリックをしたときに実行するマクロ関数を設定します。関数には、ウインドウハンドル (HWND) 、フラグ、そしてＸ座標とＹ座標が引き渡されます。HWND は選択したウインドウのハンドルです。フラグの各ビットは次のような意味を持ちます。

(1) - マウスの左ボタンが押された。

(2) - マウスの右ボタンが押された。

(4) - シフトキーが押されている。

(8) - コントロールキーが押されている。

Ｘ座標とＹ座標は、ウインドウの左上からの相対座標で、単位はデバイスに依存します。

構文

MouseInterrupt(Function)

Function

マウスボタンを押したときに実行される関数です。このパラメータにはマクロファイル名か呼び出したファイルの中の関数名を指定します。

戻り値

事前に MouseInterrupt で設定した関数が返されます。

例

FUNCTION Example()

MouseInterrupt("MouseInt")

TYPE("マウスをクリックしてください")

FOR i = 5 to 0 step -1

FOR j = 1 to 100

NEXT

TYPE("{i}.")

NEXT

END FUNCTION

FUNCTION MouseInt(hwnd, flag, x, y)

Message("hWnd : {hwnd}, Flag : {flag}, X : {x}, Y : {y}")

END FUNCTION

関連項目

KeyInterrupt, DlgKeyInterrupt


MoveLeftOrPromote

説明

アウトラインモードでは、現在の段落のアウトラインレベルを１レベル上位にします。表の中のセルの場合、そのセルを１列左に移動します。表では連続した複数のセルを選択したり、列全体を選択しておくことができます。キーボード動作を記録したときにこの関数が記録されます。

構文

MoveLeftOrPromote()

戻り値

1 (TRUE) 	セルが移動したか、段落のレベルが上がったとき

0 (NoAction)	処理が実行されなかったとき

例

FUNCTION Example()

MoveLeftOrPromote()

END FUNCTION

関連項目

MoveParagraphDown, MoveParagraphUp, MoveRightOrDemote


MoveParagraphDown

説明

現在の段落とその次の段落を入れ替えるか、表の中では１行下のセルと入れ替わります。表では連続した複数のセルを選択したり、列全体を選択しておくことができます。キーボード動作を記録したときにこの関数が記録されます。

構文

MoveParagraphDown()

戻り値

1 (TRUE) 	セルが移動したか現在の段落が次の段落と入れ替わったとき

0 (NoAction)	処理が実行されなかったとき

例

FUNCTION Example()

MoveParagraphDown()

END FUNCTION

関連項目

MoveLeftOrPromote, MoveParagraphUp, MoveRightOrDemote


MoveParagraphUp

説明

現在の段落とその前の段落を入れ替えるか、表の中では１行上のセルと入れ替わります。表では連続した複数のセルを選択したり、行全体を選択しておくことができます。キーボード動作を記録したときにこの関数が記録されます。

構文

MoveParagraphUp()

戻り値

1 (TRUE) 	セルが移動したか現在の段落が前の段落と入れ替わったとき

0 (NoAction)	処理が実行されなかったとき

例

FUNCTION Example()

MoveParagraphUp()

END FUNCTION

関連項目

MoveLeftOrPromote, MoveParagraphDown, MoveRightOrDemote


MoveRightOrDemote

説明

アウトラインモードでは、現在の段落のアウトラインレベルを１レベル下位にします。表の中のセルの場合、そのセルを１列右に移動します。表では複数のセルを選択したり、列全体を選択しておくことができます。キーボード動作を記録したときにこの関数が記録されます。

構文

MoveRightOrDemote()

戻り値

1 (TRUE) 	セルが移動したか、段落のレベルが下がったとき

0 (NoAction) 	処理が実行されなかったとき

例

FUNCTION Example()

MoveRightOrDemote()

END FUNCTION

関連項目

MoveLeftOrPromote, MoveParagraphDown, MoveParagraphUp


OnMDIActivate

説明

文書ウインドウを切り替えたときに呼び出されるコールバック関数を設定します。このコールバック関数はウインドウにかかわらず常に呼び出されるようになります。

構文

OnMDIActivate(MacroName[!Function])

MacroName

編集対象としている AmiPro ウインドウをマルチウインドウでの操作で別のウインドウに切り替えたときに実行されるマクロ名を指定します。このパラメータにはマクロファイル名と、引数 Function

関数名を指定しますが、少なくともマクロファイル名は指定する必要があります。

関数を呼び出さないようにするには、空文字列 ("") を引数 MacroName に指定します。

戻り値

設定したコールバック関数

例

FUNCTION Example()

Mac = GetRunningMacroFile$()

OnMDIActivate("{Mac}!Changed")

END FUNCTION

FUNCTION Changed()

CurFile=GetOpenFileName$()

IF CurFile=""

CurFile="新規文書"

ENDIF

Message("選択された文書ファイルは ""{CurFile}""です")

StatusBarMsg("")

END FUNCTION

関連項目

NextWindow, RunLater


OpenDataFile

説明

差し込み用のデータファイルを開きます。データファイルを自動的に修正することはできません。

構文

OpenDataFile(FileName, App)

FileName

開く文書の名前を指定します。文書が現在のディレクトリや文書ディレクトリにない場合はパス名を指定します。

App

Ami Pro でのファイルのタイプを指定します。Ami Pro の文書を開く場合は、空文字列 ("") を指定します。

戻り値

1

例

FUNCTION Example()

OpenDataFile("SAMPLE.SAM","")

END FUNCTION

関連項目

CreateDataFile, MergeToFile, OpenMergeFile


OpenMergeFile

説明

差し込みが行なわれる文書ファイルを開きます。ユーザーは、フィールド名を追加し、差し込みをしたり、データファイルを開けます。

構文

OpenMergeFile(FileName, Options, App)

FileName

開く文書の名前を指定します。文書が現在のディレクトリや文書ディレクトリにない場合はパス名を指定します。“新規文書”としてファイルを開く場合は、空文字列 ("") を指定します。

Options

ファイルをオープンするときのオプションです。次のオプションを指定できます。

  (1) - Ami Pro 文書ファイル

(128) - カレントファイルと置き換え (オプションとして１も設定する必要がある)

App

Ami Pro でのファイルのタイプを指定します。Ami Pro の文書を開く場合、空文字列 ("") を指定します。

戻り値

1

例

FUNCTION Example()

OpenMergeFile("SAMPLE.SAM",1,"")

END FUNCTION

関連項目

CreateDataFile, MergeToFile, OpenDataFile


OpenPreviousFile
OpenPreviousFile1 /  OpenPreviousFile2 / OpenPreviousFile3 / OpenPreviousFile4 / OpenPreviousFile5

説明

以前にオープンした Ami Pro ファイルを、現在からさかのぼって５つまでのどれかをオープンします。いちばん最近のものは OpenPreviousFile1 、最も古いものは OpenPreviousFile5 で開きます。<ファイル> メニューのいちばん下に表示されるファイル名の左に付けられる番号を選択するのと同じです。メニューに残すファイルの数は、UserSetup 関数で設定できます。

構文

OpenPreviousFile1()

OpenPreviousFile2()

OpenPreviousFile3()

OpenPreviousFile4()

OpenPreviousFile5()

戻り値

 0 	(FALSE) 	ユーザーが処理を取り消したか、処理が行なわれなかったとき

 1 	(TRUE) 	ファイルを開いたとき

-2 	(GeneralFailure) 	ファイルを開けなかったとき

例

FUNCTION Example()

OpenPreviousFile1()

OpenPreviousFile2()

OpenPreviousFile3()

OpenPreviousFile4()

OpenPreviousFile5()

END FUNCTION

関連項目

UserSetup


PrintEnvelope

説明

<宛名印刷> ダイアログボックスを表示します。封筒に自動的に印刷することはできません。メニューで <ファイル(F) 宛名印刷(V)> を選択するのと同じです。

構文

PrintEnvelope()

戻り値

1

例

FUNCTION Example()

PrintEnvelope()

END FUNCTION

関連項目

FilePrint, PrintSetup


SelectColumn

説明

表の中の列を選択します。挿入点のある列が選択されます。メニューで <表(B) 列の選択(O)> を選択するのと同じです。この関数を実行する前に、挿入点を表の中に設定しなければなりません。

構文

SelectColumn()

戻り値

1 (TRUE) 	列が選択されたとき

0 (NoAction)	処理が行なわれなかったとき。表がないか、表が選択されていないとき

例

FUNCTION Example()

New("JDEFAULT.STY",0,"")

Tables(16385,1,5,5)

TYPE("[RIGHT][RIGHT]")

SelectColumn()

END FUNCTION

関連項目

SelectEntireTable, SelectRow


SelectEntireTable

説明

表全体を選択します。メニューで <表(B) 表全体の選択(B)> を選択するのと同じです。この関数を実行する前に、挿入点を表の中に設定しなければなりません。

構文

SelectEntireTable()

戻り値

1 (TRUE) 	表全体が選択されたとき

0 (NoAction)	処理が行なわれなかったとき。表がないか、表が選択されていないとき

例

FUNCTION Example()

New("JDEFAULT.STY",0,"")

Tables(16385,1,5,5)

SelectEntireTable()

END FUNCTION

関連項目

SelectColumn, SelectRow


SelectRow

説明

表の中の行を選択します。挿入点のある行が選択されます。メニューで <表(B) 行の選択(O)> を選択するのと同じです。この関数を実行する前に、挿入点を表の中に設定しなければなりません

構文

SelectRow()

戻り値

1 (TRUE) 	行が選択されたとき

0 (NoAction)	処理が行なわれなかったとき。表がないか、表が選択されていないとき

例

FUNCTION Example()

New("JDEFAULT.STY",0,"")

Tables(16385,1,5,5)

TYPE("[DOWN]")

SelectRow()

END FUNCTION

関連項目

SelectColumn, SelectEntireTable


SetDocVar

説明

現在の文書に文書内変数を設定したり、文書内変数の値を更新します。文書内変数は文書に保存される情報で、GetDocVar 関数で値を取り出せます。

構文

SetDocVar(Name, Text)

Name

値を設定したい文書変数の名前です。

Text

文書変数に設定したい情報です。

両方の文字列を合わせて、250 バイトを越えないようにする必要があります。

戻り値

1

例

FUNCTION Example()

SetDocVar("x1","ABC")

Text=GetDocVar("x1")

Type(Text)

END FUNCTION

関連項目

GetDocVar


SetIconPath

説明

アイコンファイルの既定値のパス名を設定します。メニューで <ツール(L) 環境設定(U) ディレクトリ(P)> を選択するのと同じです。

構文

SetIconPath(NewPath)

NewPath

アイコンファイルに設定する新しいパス名です。

戻り値

 1	(TRUE)	 パスの設定に成功したとき

-2	(GeneralFailure)	 パスの設定ができなかったとき

例

FUNCTION Example()

SetIconPath("C:\AMIPRO\ICONS")

END FUNCTION

関連項目

SetBackPath, SetDocPath,SetMacroPath, UserSetup


SetIconSize

説明

アイコンセットのアイコンサイズを設定します。メニューで <ツール(L) スマートアイコン(I) アイコンサイズ(I)> を選択するのと同じです。この関数はマクロ記録では入力できません。マクロを編集して入力します。

構文

SetIconSize(Size)

Size

以下の値のいずれかです。

(1) - 小 (EGA 用)

(2) - 中 (VGA 用)

(3) - 大 (Super VGA 用)

戻り値

1 (TRUE)	アイコンサイズが変更されたとき

0 (NoAction)	処理が行なわれなかったとき

例

FUNCTION Example()

SetIconSize(2)

END FUNCTION

関連項目

ChangeIcons, IconBottom, IconFloating, IconRight, IconTop


TabRuler

説明

タブの追加、削除、変更、そして列数やインデント、余白を変更します。タブルーラーでタブの指定を行なうことと同じです。インデントは、twips (1 inch = 1440 twips) で指定します。インチを twips に変換するには、1440 を掛けます。

構文

TabRuler(Command[, Parameters])

Command は処理するタブのタイプを以下のものから１つ指定します。

ChangeMargins	(1) - 余白の変更

ChangeAllIndent	(2) - 全部のインデントを変更

ChangeFirstIndent 	(3) - １行目のインデントを変更

ChangeSecIndent 	(4) - ２行目のインデントを変更

ChangeRightIndent 	(5) - 右のインデントを変更

ChangeTabs 	(6) - タブを変更

ChangeCols 	(7) - 列数を変更

TabRuler(ChangeMargins, 1, Column, Offset1, Offset 2)

Column

ルーラー内で修正する列の数です。縦ルーラーを修正するには、０を指定します。

Offset1

ルーラーの左端からのオフセットを twips 単位で指定します。縦ルーラーのときは、上端からのオフセットを twips 単位で指定します。ルーラーでのオフセットは、左余白で、垂直ルーラーでのオフセットは上余白です。

Offset2

ルーラーの左端からのオフセットを twips 単位で指定します。縦ルーラーのときは、上端からのオフセットを twips 単位で指定します。ルーラーでのオフセットは、右余白で、垂直ルーラーでのオフセットは下余白です。

TabRuler(ChangeAllIndent, Offset)

Offset

左余白からのインデントを twips 単位で指定します。

TabRuler(ChangeFirstIndent, Offset)

TabRuler(ChangeSecIndent, Offset)

Offset

左余白から全体のインデントを加えたところからのインデントを twips 単位で指定します。

TabRuler(ChangeRightIndent, Offset)

Offset

右余白からのインデントを twips 単位で指定します。

TabRuler(ChangeTabs, TabNumber, Action[, Offset, Type])

TabNumber

追加、削除、変更するタブの番号です。最初のタブは０番です。

Action

選択したタブに対する処理を指定します。

(-1) 	- タブの削除

(-2) 	- タブの追加

(-3) 	- タブをすべて削除

(正数)	- タブの新しい位置で、左余白からの twips 数

１つのタブを追加、削除するときは、引数 Offset と Type を指定します。

Offset

タブの左余白からのオフセットを twips 単位で指定します。

Type

タブのタイプで、以下のものから１つを指定します。

TabLeft 	(1) - 左のタブ

TabCenter 	(2) - 中央のタブ

TabRight 	(3) - 右のタブ

TabNumeric 	(4) - 数値タブ

TabRuler(ChangeCols, NumCols)

ルーラの列数を変更します。

NumCols 列の総数です。

戻り値

Command が ChangeMargins のとき、 1 (TRUE) なら処理が成功

0 (NoAction) なら余白は変更されなかった

Command が ChangeAllIndent, ChangeFirstIndent, ChangeSecIndent,  ChangeRightIndent のとき、

 1 (TRUE) なら処理が成功

-6 (InsufficientMemory) なら、メモリが不十分

Command が ChangeTabs のとき、 0 (NoAction) ならタブの番号が正しくない

 1 (TRUE) なら処理が成功

-6 (InsufficientMemory) なら、メモリが不十分

Command が ChangeColsなら、戻り値は 1。

例

FUNCTION Example()

cm=1440/2.54

New("JDEFAULT.STY",0,"")

' ﾀﾌﾞ解除

TabRuler(ChangeTabs, 0, -3)

' 中央ﾀﾌﾞ追加

TabRuler(ChangeTabs, 0, -2, (6 * cm), TabCenter)

' 左寄せﾀﾌﾞ追加

TabRuler(ChangeTabs, 1, -2, (8 * cm), TabLeft)

' 右寄せﾀﾌﾞ追加

TabRuler(ChangeTabs, 2, -2, (12 * cm), TabRight)

' 数値ﾀﾌﾞ追加

TabRuler(ChangeTabs, 3, -2, (14 * cm), TabNumeric)

'２番目のﾀﾌﾞを7cmの所へ移動

TabRuler(ChangeTabs, 1, (7 * cm))

' 上余白を  4cmに変更

' 下余白迄の長さを 25cmに変更(上余白からの長さ)

TabRuler(ChangeMargins, 1, 0, (4 * cm), (25 * cm))

' 左余白を  2cmに変更

' 右余白迄の長さを 18cmに変更

TabRuler(ChangeMargins, 1, 1, (2 * cm), (18 * cm))

' ｲﾝﾃﾞﾝﾄ 1cmに変更

TabRuler(ChangeAllIndent, (1 * cm))

' 1行目ｲﾝﾃﾞﾝﾄ を 1.25cmに変更

TabRuler(ChangeFirstIndent, (1.25 * cm))

' 2行目ｲﾝﾃﾞﾝﾄ を 1.0cmに変更

TabRuler(ChangeSecIndent, (1.0 * cm))

' 右ｲﾝﾃﾞﾝﾄを 1.25cmに変更

TabRuler(ChangeRightIndent, (1.25 * cm))

' 2段組みに変更

TabRuler(ChangeCols, 2)

END FUNCTION

関連項目

ModifyStyle, ModifyLayout


TOCOptions

説明

現在の文書の目次作成のオプションを設定します。メニューで <ファイル(F) グループ文書(E) オプション(O) 目次オプション(O)> を選択するのと同じです。また、<ツール(L) 目次/索引(N) 目次オプション(T)> でも同様です。

構文

TOCOptions(Style, Separator, Flag[, Style, Separator, Flag...])

Style

段落スタイルの名前です。

Separator

文字列とページ番号を区切る記号です。区切り記号は、引数 Flag に依存し、以下のものから１つを指定します。

("") - なし

(".") - ピリオド

("-") - ハイフン

("_") - 下線

(",") - カンマ

Flag

ページ番号を付けるだけか、ページ番号を右寄せにするのかを指定します。

(1) - ページ番号をつける

(2) - 右寄せをする (１と併せて指定する必要がある)

引数 Flag の設定に対し、ルーラーは次のようになります。

ページ番号と右寄せの両方を指定すると、区切り記号として、なし、ピリオド、ハイフン、下線のどれかが使えます。

ページ番号だけを指定すると、区切り記号としてなしかカンマを使えます。

右寄せは必ずページ番号を付ける設定といっしょになっていないといけません。

ページ番号を付けない場合、区切り記号は指定してはいけません。

<目次オプション> のダイアログボックスを表示するには、TOCOptions を使います。

戻り値

1

例

FUNCTION Example()

New("JDEFAULT.STY",1,0)

TOCOptions("表題","_",3,"副題",",",1)

END FUNCTION

関連項目

Generate, SetTOCFile


ToggleCleanScreen

説明

クリーンスクリーンでなければ設定し、設定されていればモードを解除します。メニューで <表示(V) クリーンスクリーン表示(N)> を選択するのと同じです。

構文

ToggleCleanScreen()

戻り値

1

例

FUNCTION Example()

CleanScreenOptions(Icons+VertScroll+ReturnIcon)

ToggleCleanScreen()

END FUNCTION

関連項目

CleanScreenOptions


UseWorkingDir

説明

ファイルを最後にオープンないしは保存したときのディレクトリを使用するかどうかを決定します。メニューで <ツール(L) 環境設定(U)>を選択し、<ディレクトリ(P)>ボタンを押して、ディレクトリ既定値のダイアログボックスでディレクトリを指定するのと同じです。

構文

UseWorkingDir(Flag)

Flag

以下のものから１つを指定します。

(1) - ファイルを最後に開いたり保存したときのディレクトリを記録します。

(0) - ファイルを最後に開いたり保存したときのディレクトリを記録しません。

引数 Flag に０を指定すると、次のファイルを開いたり保存するディレクトリは、<ツール(L) 環境設定(U)>を選択し、<ディレクトリ(P)>ボタンを押して、<文書ファイル(D)> で指定されるディレクトリになります。SetDocPath 関数を利用すると、作業ディレクトリのパスは更新されますが、UseWorkingDir 関数の引数 Flag での指定は有効です。

<ディレクトリ既定値> のダイアログボックスを表示するには、SetDefPaths を使います。

戻り値

1

例

FUNCTION Example()

UseWorkingDir(1)

END FUNCTION

関連項目

SetDefPaths, SetDocPath, UserSetupUSERSETUP


Equations

説明

数式のモードを変更します。メニューで <ツール(L) 数式(E)> を選択するのと同じです。枠が選択されていれば、それを利用できます。枠が選択されていなければ、作成します。この関数は数式を自動的に入力できません。

構文

Equations()

戻り値

 1 	(TRUE) 	数式モードに切り替わったとき

-2  (GeneralFailure) 	モードが切り替わらなかったとき

例

FUNCTION Example()

OnKey([Ctrlshifte], Equations, 0)

Message("［CTRL］+［SHIFT］+［E］で数式ｴﾃﾞｨﾀが起動します")

END FUNCTION

関連項目

ChartingMode, DrawingMode, AddFrame, AddFrameDLG


FrameModColumns

説明

選択した枠の段やタブを変更します。メニューで <枠(R) 枠レイアウト修正(M)>を選択し、枠レイアウト修正の<段とタブ(C)> を選択するのと同じです。この関数を使う前に、FrameModInit 関数を呼び出す必要があります。設定内容を反映させるには、FrameModFinish 関数を実行する必要があります。

構文

FrameModColumns(Options, GutterLine, Color, NumCols[, Cols], NumTabs[,Tabs])

Options

フラグで、以下の数値の１つないしはいくつかを指定します。

(0) - 段のバランスは取らず、段間線も引かない

(1) - 段のバランスを取る

(2) - 段間線を引く

GutterLine

段間線の種類を以下のものから指定します。

Hairline 	 (1) - 極細線

OnePoint 	 (2) - １ポイント線

TwoPoint 	 (3) - ２ポイント線

ThreePoint 	 (4) - ３ポイント線

FourPoint 	 (5) - ４ポイント線

FivePoint 	 (6) - ５ポイント線

SixPoint 	 (7) - ６ポイント線

DoubleOnePoint 	 (8) - １ポイント線２本

DoubleTwoPoint 	 (9) - ２ポイント線２本

ThreeLines 	(10) - 極細線が２ポイント線の上下に付く３本線

HairBelow 	(11) - 極細線が３ポイント線の下に付く２本線

HairAbove 	(12) - 極細線が３ポイント線の上に付く２本線

Color

段間線の色で、以下のものから１つを指定します。

White (16777215) 	- 白

Cyan (16776960) 	- 水色

Yellow (65535) 	- 黄色

Magenta (16711935)- 赤紫

Green (65280) 	- 緑

Red (255) 	- 赤

Blue (16711680) 	- 青

Black (0) 	- 黒

DarkGray (12566463) - 90％灰色

MediumGray (8355711)- 50％灰色

LightGray (4144959) - 20％灰色

VeryLightGray (1644825) - 10％灰色

NumCols

枠内の段数です。

Cols

各段の左右の余白からの twips 単位のオフセットを示す１組の数値です。段ごとにオフセット数値の組みを指定します。

NumTabs

以下、タブを示す数値の組がいくつあるかを指定します。数値の組は、タブの種類と左余白からのオフセットです。

Tabs

タブのタイプと左余白からのオフセットを示す数値の組です。タブの種類は以下のものから指定します。

TabLeft 	(1) - 左のタプ

TabCenter 	(2) - 中央のタブ

TabRight 	(3) - 右のタブ

TabNumeric	(4) - 数値タブ

以下の数値のうち１つを、ビット演算子のr OR (|) を使って組み合わせられます。

0x4000 - ダッシュのリーダー

0x8000 - ピリオドのリーダー

0xc000 - 下線のリーダー

戻り値

 1  (TRUE) 	線が変更されたとき

-2  (GeneralFailure)	線が変更されなかったとき

例

FUNCTION Example()

cm=1440 / 2.54

New("JDEFAULT.STY",1,0)

AddFrame((3 * cm),(-3 * cm),(8 * cm),(-8 * cm))

FrameModInit()

FrameModColumns(2,14,8388863,2,141,1332,1502,2693,0)

FrameModFinish()

END FUNCTION


ModifyUnder

説明

文字列に引かれている下線を変更します。

メニューで <文字(T) 下線設定(R)> を選ぶことと同じです。

構文

ModifyUnder(attr,UnderStyle,UnderColor)

attr は 下線を引く方法を次の中から選択します。

16 - 通常下線

32 - 単語下線

UnderStyle は下線の種類と位置を指定します。線種、位置からそれぞれ１つを組み合わせ、加算値で指定します。

線種

0  --  1/2 Point 実線

1  --  1 Point 実線

2  --  2 Point 実線

3  --  ２重線

4  --  1/2 Point 点線

5  --  1 Point 点線

6  --  1/2 Point 破線

7  --  1 Point 破線

8  --  1/2 Point １点鎖線

9  --  1 Point １点鎖線

10 --  1/2 Point ２点鎖線

11 --  1 Point ２点鎖線

12 --  1/2 Point 波線

13 --  1 Point 波線

14 --  1/2 Point ２重波線

15 --  1 Point ２重波線

16 --  太縄目線

17 --  縄目線

18 --  中点線

位置

32 --  上

64 --  下

96 --  囲み

UnderColor は下線の色を指定します。

48  --  黒

49  --  灰色

50  --  赤

51  --  青

52  --  緑

53  --  紫

54  --  水色

55  --  黄

ダイアログボックスを表示して、引数を指定する場合は ModifyUnderStyle を使います。

戻り値

1 (TRUE) 	下線が引かれたとき

-2 (GeneralFailure) 	下線が引かれなかったとき

例

FUNCTION Example()

ModifyUnder(16,108,112)

END FUNCTION

関連項目

CreateStyle, ModifyAlignment, ModifyBreaks, ModifyEffects, ModifyLines, ModifyReflow, ModifySelect, ModifySpacing, ModifyStyle, ModifyTable, ModifyUnderStyle, ModifyShade, ModifyShadeStyle


ModifyUnderStyle

説明

下線設定ダイアログボックスを表示してユーザーが修正する下線スタイルを指定します。

メニューで <文字(T) 下線設定(R)> を選ぶことと同じです。

直接、下線を特定の種類に修正することはできません。

マクロでメニュー選択を置き換えたりユーザーが下線スタイルの修正ができるように用意されています。

マクロで直接下線を修正するには、ModifyUnder を使います。

構文

ModifyUnderStyle()

戻り値

1 (TRUE) 	下線が変更されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	変更できなかったとき

例

FUNCTION Example()

ModifyUnderStyle()

END FUNCTION

関連項目

CreateStyle, ModifyAlignment, ModifyBreaks, ModifyEffects, ModifyLines, ModifyReflow, ModifySelect, ModifySpacing, ModifyStyle, ModifyTable, ModifyUnder, ModifyShade, ModifyShadeStyle


ModifyShade

説明

網掛けされている文字列を選択して網掛けの種類を変更します。

メニューで <文字(T) 網掛け設定(H)> を選ぶことと同じです。

構文

ModifyShade(attr,ShadeStyle)

attr は 常に 256を指定してください。

ShadeStyle は網掛けの種類と色を指定します。種類、色からそれぞれ１つを組み合わせ、加算値で指定します。

種類

0  --  塗りつぶし

1  --  10％

2  --  20％

3  --  50％

4  --  75％

5  --  格子

6  --  右上がり斜線

7  --  右下がり斜線

8  --  細かい斜め格子

9  --  右上がり２重斜線

10 --  右下がり２重斜線

11 --  粗い斜め格子

12 --  蜂の巣

13 --  横ブロック

14 --  斜めブロック

15 --  菱形

色

32  --  黒

48  --  灰色

64  --  赤

80  --  青

96  --  緑

112 --  紫

176 --  水色

192 --  黄

ダイアログボックスを表示して、引数を指定する場合は ModifyShadeStyle を使います。

戻り値

1 (TRUE) 	網掛けされたとき

-2 (GeneralFailure) 	網掛けされなかったとき

例

FUNCTION EXAMPLE()

ModifyShade(256,179 )

END FUNCTION

関連項目

CreateStyle, ModifyAlignment, ModifyBreaks, ModifyEffects, ModifyLines, ModifyReflow, ModifySelect, ModifySpacing, ModifyStyle, ModifyTable, ModifyUnderStyle, ModifyUnder, ModifyShadeStyle


ModifyShadeStyle

説明

網掛け設定ダイアログボックスを表示してユーザーが修正する網掛けのスタイルを指定します。

メニューで <文字(T) 網掛け設定(H)> を選ぶことと同じです。

直接、網掛けを特定の種類の網掛けに修正することはできません。

マクロでメニュー選択を置き換えたりユーザーが網掛けスタイルの修正ができるように用意されています。

マクロで直接網掛けを修正するには、ModifyShade を使います。

構文

ModifyShadeStyle()

戻り値

1 (TRUE) 	網掛けが変更されたとき

0 (UserCancel) 	中止したとき

-2 (GeneralFailure) 	変更できなかったとき

例

FUNCTION EXAMPLE()

ModifyShadeStyle()

END FUNCTION

関連項目

CreateStyle, ModifyAlignment, ModifyBreaks, ModifyEffects, ModifyLines, ModifyReflow, ModifySelect, ModifySpacing, ModifyStyle, ModifyTable, ModifyUnderStyle, ModifyUnder, ModifyShade


JustifyAll

説明

文字がある段落の均等割付をオンまたはオフに切り換えます。

メニューで <文字(T) 文字揃え(A) 均等割り付け(K)> を選ぶことと同じです。

構文

JustifyAll()

戻り値

1 (TRUE) 	均等割付されたか、または均等割付が解除されたとき

-2 (GeneralFailure) 	均等割付が変更されなかったとき

例

FUNCTION Example()

JustifyAll( )

END FUNCTION

関連項目

Center, LeftAlign, NormalText, Justify, RightAlign


CharShade

説明

指定文字列や入力した文字を網掛けしたり網掛けを消したりします。

メニューで <文字(T) 網掛け(G)> を選ぶことと同じです。

構文

Underline()

戻り値

1 (TRUE) 	文字に下線が付加されたか、または消去されたとき

-2 (GeneralFailure) 	変更されなかったとき

例

FUNCTION Example()

CharShade()

END FUNCTION

関連項目

Bold, Italic, NormalText, WordUnderline


3.1J のアップデートマクロと新規追加マクロ

3.1J では新機能の追加により、以下のマクロが追加されています。

CharShade

選択した文字列に網掛けをします。

JustifyAll

文字列がある段落の均等割付の設定をオンまたはオフに切り替えます。

ModifyUnder

文字列に引かれている下線の種類を変更します。

ModifyUnderStyle

下線設定ダイアログボックスを表示してユーザーが修正する下線スタイルを指定します。

ModifyShade

網掛けされている文字列を選択して網掛けの種類を変更します。

ModifyShadeStyle

網掛け設定ダイアログボックスを表示してユーザーが修正する網掛けのスタイルを指定します。

3.1Jで機能拡張されたマクロは以下のものです。

FrameModLines

引数 ThickType で指定できる値が追加されました。

ModifyLines

引数 StyleAbove で指定できる値が追加されました。

ModLayoutLeftLines

引数 GutterStyle、BorderStyle で指定できる値が追加されました。

ModLayoutRightLines

引数 GutterStyle、BorderStyle で指定できる値が追加されました。

TableLayout

引数 LineStyle で指定できる値が追加されました。

TableLines

引数 LineStyle で指定できる値が追加されました。

Tables

引数 LineStyle で指定できる値が追加されました。

ModifyFont

新しく、引数 UnderStyle、ShadeStyle、UnderColor が指定できるようになりました。また、引数 Option で指定できる値の DoublelineAttr(256)が ShadeAttr(256)に変更されています。このため、3.0Jで書かれたマクロを 3.1J で実行すると、結果が異なる可能性があります。

ModifyEffects

新しく、引数 UnderStyle、ShadeStyle、UnderColor が指定できるようになりました。また、引数 Attribute で網掛け（ShadeAttr）が指定できるようになりました。

GetCurFrameLines

引数 ThickType で指定できる値が追加されました。

GetLayoutLeftLines

引数 GutterStyle、BorderStyle で指定できる値が追加されました。

GetLayoutRightLines

引数 GutterStyle、BorderStyle で指定できる値が追加されました。

3.0Jで書かれた以下の関数を含むマクロは、3.1Jでは動作が異なる場合があります。

UnderLine, WordUnderLine

3.1Jでは新しく下線設定ダイアログボックスが追加されました。このダイアログボックスで最後に指定したスタイルで下線が引かれます。